0x00:前言
上周做渗透,有一个 sql 注入,负责安全审核的人给开发说你们的程序既然还有 sql 注入,我一年也看不见几个。这句话让我又再次深刻的认识到,渗透测试常规的一些注入跨站漏洞不如以前那么盛了,有点经验的开发写东西都会去考虑到了,再加上修复方法也在逐渐的完善,逻辑类的东西也应该并重的去测。
0x01:分类
我把逻辑类的问题大概总结了一下,大概可以分为十个模块,分别是登录认证模块测试、业务办理模块测试、业务授权访问模块测试、输入 / 输出模块测试、回退模块测试、验证码机制测试、业务数据安全测试、业务流程乱序测试、密码找回模块测试、业务接口调用模块测试。
这次记录的是第四个模块输入 / 输出模块。
0x02:输入输出模块测试
1,sql 注入
现在测试中,估计大家直接都用 sqlmap 跑的,所以就不记录手工注入了。
测试方法:如果是登录前的连接可以直接用 sqlmap -u 去跑,如果是登录后才能访问的连接,用 burp 拦截包,复制到 sqlmap 目录下随便一个 txt 文件,直接用 sqlmap -r 去跑。
经验之谈:也可以直接使用 burp 的插件 sqlipy 直接去跑,更方便,后面会总结一篇相应的博客。
修复方法:过滤参数中的特殊字符,或对字符进行转义。现在基本上项目都用框架来写,需要参数化。框架机制虽越来越完善,但不能排除此问题,没以前多了,但依然不少。
2,xss