当前位置:首页 > 百科

怎么查找网站漏洞

怎么查找网站漏洞

别急着扫端口,查找先打开浏览器,网站把目标网站当普通用户一样点一遍。漏洞注册个账号,查找翻翻个人中心,网站看看URL里有没有?漏洞id=123这种参数。把123改成124,查找如果页面报错或者内容变了,网站说明后端在拼接SQL——这就是漏洞个入口。

我用这招在黑盒测试里屡试不爽。查找去年帮朋友查一个商城站,网站就是漏洞在商品详情页的评论功能里,把评论内容改成<script>alert(1)</script>,查找结果弹窗直接出来了。网站存储型XSS,漏洞管理员后台一打开就中招。这种漏洞找起来不费劲,就是耐心活,每个输入框都别放过。

再看登录接口。抓个包,看看密码字段是不是明文传输。HTTP协议下直接裸奔的多了去了,用Wireshark一抓一个准。要是遇上验证码可以复用,那就更省事了——先正常登录一次,把Cookie记下来,然后暴力破解用户名,验证码不刷新,撞库成功率能到三成。

文件上传点也别忽略。头像上传功能,试着改后缀名,把.jpg改成.php,如果服务器没校验文件头,直接传个一句话木马上去。我见过一个政府网站,上传目录居然有执行权限,传上去就能拿到webshell。不过这种漏洞现在少了,大部分都做了白名单校验,但总有漏网之鱼。

真正的高手会去看JS文件。按F12打开开发者工具,切到Sources面板,翻找那些压缩过的前端代码。里面经常藏着API接口地址,有些还是内网IP。去年挖一个SaaS平台,就是从main.js里找到/api/admin/getUserList这个路径,直接未授权访问,几万条用户数据躺在JSON里等着我下载。

别忘了robots.txt和sitemap.xml。这俩文件有时候会泄露后台路径或者测试页面。有些开发图省事,把后台地址写在robots里禁止爬虫访问,结果等于告诉全世界“这里有个入口”。

查漏洞最忌讳的就是漫无目的地乱扫。你拿AWVS或者Nessus全站扫一遍,跑出来的报告几百页,真正有用的可能就一两条。我习惯先手动摸清网站结构,再针对性地用Burp Suite测参数。把请求发给Intruder,设置好payload,跑一轮就知道哪些参数存在注入点。

最后说个野路子——看网站的报错信息。故意输入超长字符串,或者提交畸形数据,如果页面弹出详细的SQL语句或者堆栈跟踪,说明调试模式没关。这种信息泄露本身不算高危,但能帮你摸清数据库类型和表结构,后面构造攻击语句就有谱了。

漏洞查找说到底就是三步:摸清入口、试探参数、验证危害。别指望一步登天,多试几次,总能找到那个粗心程序员留下的后门。

分享到: