声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
昨天晚上分别开了我相识已久的女友,再度回到了单身狗身份,在这个双休的早上,
电脑上看完了昨天还未看完的《银河护卫队1》,百无聊赖的打开了某一个网站,
想找找是否有啥好玩的东西,这一看,2个小时就这么没了。。。
0x01 用户名提示
登录界面在账号处,如果输入系统存在的账号,则用户名会返回对应的结果,没有则不返回。抓包看一下。
输入admin,返回了admin。这里我注意到一个参数 SQL_WHERE。那这里我们大胆猜测一下,是不是有可能后面就是跟的要查询的账号名呢,只是这里做了相应处理。需要注意的是,值的最后面有两个%3D
,这里懂的师傅,已经猜到是base64编码的,我当时也是这样想的,就拿去处理一下。
密文:
NGFkMzRkZWEyYjgxYzcyMWY0YTg3YTEzYzU5MzJmNTY5YzA3MWVjZDE2MGM3ZjIzZDNmYzliNDg1NTlmZGMxZg
%3
D
%3
D
第一步处理,UrlDecode解码
NGFkMzRkZWEyYjgxYzcyMWY0YTg3YTEzYzU5MzJmNTY5YzA3MWVjZDE2MGM3ZjIzZDNmYzliNDg1NTlmZGMxZg
==
第二步处理,base64解码
4ad34dea2b81c721f4a87a13c5932f569c071ecd160c7f23d3fc9b48559fdc1f
这也看不出是个啥加密呀,就想着能不能去F12里找找思路。。
jsBase64.js文件
aes
加密了,还暴露了key
和iv
,那不是马上就可以反推出刚刚的密文是什么了嘛!咱们说干就干,就将这段代码复制到了新文件中,准备传入明文admin来试试看能不能加密出刚刚的密文来。手搓轮子(python)
突然惊醒,js我不会啊,不知道咋穿参进去,而且电脑也没有运行代码的环境,思来想去,js我不会,但是我会点python呀。
网上参考了点python的aes解密,整了一个出来。
啪的一下很快啊,当时就给了我一个结果 AND LOGID=‘admin’
。好家伙,这不是连着查询语句一起写这了嘛,搞不好这里还有SQL注入呢!!
2.AND LOGID='test' AND 1=1
3.AND LOGID='test' AND 1=2
1
.1944b419abc5540fbed8e886ea1d68dcdda71cc9b1da8daba6096208727fa36e
2
.1944b419abc5540fbed8e886ea1d68dc8c937b7e0c859960291e590322549066
3
.1944b419abc5540fbed8e886ea1d68dcfdc8146dc3691809e7b75e7224b6451d
像前面一样,先 base64编码,在 UrlEncode编码。
反复搓轮子(python-tamper)
先打开了一个自带的脚本(apostrophemask.py),看看人家是咋写的。
哎嘿,跑出来了。
武林中人讲究点到为止,关掉看鬼灭之刃去了。
原文始发于微信公众号(湘安无事):记一次两小时泯灭SQL注入
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论