通过 selenium 和 flask 中转后利用 sqlmap 进行注入

发布日期:2019-11-19 浏览次数: 9056 次

0x00 先说前提

昨天某个小伙伴说有个注入没法搞

前端提交登陆表单时数据包加密了, 而且有个 sign 字符串每次都不一样用于校验, 应该是用 js 加密

0x01 找加密的 js 文件

注入的地方是获取验证码时的手机号, 刚开始想着先找到 js 加密的函数, 然后生成 sign 再组数据包发送。

就像 记一次SQL Server报错注入 中一样, 用 selenium 或者 PhantomJS 执行 js 代码生成sign

一番查找发现了加密的 js 文件函数, 但是用的是 angular 这个前端框架, 没用过这个东西。。。。

能看懂一般的 js 代码, 但是这个没得搞, 不懂。。。

0x02 数据中转

本来昨天我已经放弃了的, 结果今天上午小伙伴又找我了, 说还没有整好, 又看了一通 js, 仍然无解, 看不懂。。。

想起昨天有个大佬说用 PhantomJS + flask 这样、那样、再这样, 中转数据就可以用 sqlmap 跑了, emmmmm。。。

虽然很早以前用过 asp 的 Cookie 注入中转 , 但是那个是软件, 一直没有搞懂原理, 现在正好趁机学下

经过各种百度, 大概明白了, 应是本地起个 server, sqlmap 就扫描这个 server, server 接收到 payload 后将 payload 加到表单中, 然后模拟提交表单

0x03 selenium 和 flask 进行中转

没有接触过 PhantomJS, 但是 selenium 以前用过, 可以尝试下

大概看了下, 我们需要注意动态的消息提示框, 需要处理 input 的长度

大概代码就是下面这样了:

0x04 sqlmap 测试效果

  • 启动 flask 服务

  • 使用 sqlmap 尝试扫描

  • flask 接收到了payload

  • sqlmap 执行结果

 

转自:黑白之道

分享到:
×

微信扫一扫分享

XML 地图 | Sitemap 地图