网站漏洞查找
去年冬天,网站一个做电商的漏洞朋友半夜给我打电话,说后台订单数据对不上,查找怀疑被人动了手脚。网站我让他把服务器日志导出来,漏洞翻了不到十分钟,查找就在一个商品查询接口里发现了猫腻——参数后面跟了个单引号,网站页面直接抛出了数据库错误。漏洞这就是查找典型的SQL注入,攻击者能靠它把整个用户表拖走。网站 找漏洞这事,漏洞说白了就是查找跟开发者的思维定式较劲。写代码的网站人总觉得用户会规规矩矩填表单,可搞安全的漏洞人得假设每个输入框都是敌人。我习惯从三个地方下手:URL参数、查找表单字段、HTTP头。尤其是那些藏在请求头里的值,比如User-Agent或者X-Forwarded-For,很多程序员压根不会去过滤,直接拼进SQL或者写进日志文件。 手工测试效率低,但有些东西自动化工具扫不出来。比如逻辑漏洞。之前遇到一个抽奖功能,前端限制每人抽三次,可抓包重放请求,服务器居然不校验次数。这种问题AWVS、Burp Suite扫一百遍也报不出来,得靠人盯着业务流一步步走。我一般会拿两个账号互相操作,看能不能越权看到对方的数据,或者把价格改成负数试试。 工具方面,Burp Suite的Repeater模块我用的最多。把请求丢进去,改一个参数发一次,看响应长度和状态码的变化。有时候加个单引号返回500,换成两个单引号就正常,基本能确定注入点。sqlmap能自动跑,但别全指望它——有些站点了WAF,sqlmap一跑就被封IP,还不如手工构造payload慢慢试。 XSS也是重灾区。有个论坛的搜索框,输入 文件上传漏洞往往最致命。有些站只在前端用JS校验后缀名,抓包改成 找漏洞不是比谁工具多,而是比谁更细心。一个登录框,普通人看到的是输入账号密码,我看到的是:有没有验证码?能不能爆破?返回信息是否泄露用户名是否存在?密码重置的token是否可预测?这些细节堆起来,就是攻破系统的突破口。 最后说个实在的,别在没授权的情况下测别人的站。我所有测试都在自己搭的靶场或者客户书面授权后进行。技术是把双刃剑,拿它干坏事,早晚得进去。<script>alert(1)</script>直接弹窗,说明没做HTML实体编码。存储型XSS更麻烦,得找那些能持久保存用户输入的地方,比如昵称、评论、个人简介。我见过一个站,个人简介里插了恶意脚本,管理员一审核就中招,cookie直接被发到攻击者服务器上。.php照样能传上去。更隐蔽的是解析漏洞,比如上传test.php.jpg,Apache某些配置会把它当PHP执行。我习惯传一个内容为<?php phpinfo();?>的图片马,访问一下看能不能解析。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-