墨者在线靶场-SQL注入漏洞测试(参数加密)
之前面试有出过一个这个类似的,现在复现一下
访问链接,发现一个登陆页面
先用dirsearch扫一下
挨个查看,最后发现news目录下的东西有些可疑
下载zip文件,可以看到list.php的源码
主要看php里的内容就好了,主要意思就是,list.php通过get请求获取一个id,并对其进行decode
decode函数里的内容就是,将参数data经过两次base64解密,然后经过mdecrypt_generic函数操作(通过英文可以大概知道是用来解密的函数),如果后六位是_mozhe就会返回除去 _mozhe的剩余部分,也就是接入sql语句。
目的也就明确了,就是sql盲注嘛,首先要搞清楚mcrypt_generic_init中几个参数的含义(应该就是对应的加密规则)
aes在线工具:AES加密、AES解密 - 在线工具 - OKTools
通过搜索发现是使用的AES加密,ydhaqPQnexoaDuW3是密钥,2018201920202021是参数。那么我们就先使用1_mozhe进行测试去进行aes加密+base64加密(这里使用的工具结果是经过一次base64加密的),这样根据php源码,如果对应上了,页面就不会跳转,而且应该会有数据,如果错了就会跳转到index.php页面
payload:/news/list.php?id=WDhGNGdmdGo4WXArSXhMOXlVa2FwQT09
果然显示出了通知,接下来就开始sql注入了
测试字段数量
ps:上述图片结果记得再加密一次base64
最终测试字段数为4,下图是order by 5时的报错(虽然从源码里也能看到是4个字段,做完才想起来)
测试4个字段哪一个有回显
发现2,3有回显
爆破数据库名
爆破表名
估计用户就在第一个表里,爆破字段
爆破用户名密码,得到两个账号,应该说是两个密码??
密码看起来都是md5加密,破解一下,应该只有一个能被破解出来,试试看
md5线上工具:md5在线解密破解,md5解密加密 (cmd5.com)
结果发现两个都解出来了。。。
登录账号,果然虽然两个密码都解出来了,dsan13这个是不能用的,阴险~