假设让你测试一个网站是否存在逻辑漏洞,你会尝试对网站哪些功能点进行测试。
发现存在需改密码的页面,有短信验证码或邮箱验证码的填写区域,有注册邮箱或填写的手机号码。
可以随便填写验证码,使用burp抓取服务器端的返回包,将false修改为ture,0改为1,然后发送返回包,就可以成功绕过邮箱验证了,直接进入到修改密码的步骤。
1、打开网站,先观察,先了解网站的各种功能。
2、初步试着先使用这些功能,如果你使用浏览器,把审核元素打开,小心认真的观察点击功能点的时候网络中的各种请求,注意POST数据,因为它提交的数据是隐藏的。
3、使用BURP抓包,试着将其中的数据在BURP中重放,如果发现重放数据返回的包中有敏感信息的话,可以进一步修改其中的值进行重放。
4、重点将逻辑漏洞挖掘放在重要区域,比如:个人信息区域、密码修改区域、密码忘记区域、支付区域、手机号区域等。这几个区域一般都是严重高危漏洞的始发点,任何一个地方出问题,都有可能造成企业、用户损失。
5、注册页面、密码找回、个人信息页面等都有可能存在逻辑漏洞,比如在个人信息处改变用户ID值直接查看其他用户信息等。
3、如果你发现一个网站存在存储型xss漏洞,你会如何进行修复。
1.输入编码转译:对输入的数据进行html转译,使其不hi识别为可执行脚本
String result = HtmlUtils.htmlEscape(source);
2.白名单过滤:根据白名单的标签和属性对数据进行过滤,一次来对可执行的脚本进行清除 (如 script标签,img标签的onerror属性等)
Eg:默认基础的白名单配置