当前位置:网站首页>SQL加解密注入详解
SQL加解密注入详解
2022-07-26 04:31:00 【永远是少年啊】
今天继续给大家介绍Linux运维相关知识,本文主要内容是SQL加解密注入。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
一、SQL加解密注入原理
SQL加解密注入,是特指一种特殊的注入形式,即注入点并没有直接把输入的信息传输到后台,而是通过进行base64编码等形式处理后,再传输到后台。SQL加解密注入的数据包如下所示:
从上图中可以看出,在数据包的Cookie字段,有一个uname参数,该参数的值是一个先经过url编码,然后再经过base64编码的值,如下所示:
在这种情况下,我们就可以尝试对uname参数进行SQL注入尝试,并且在尝试时要注意对SQL注入的语句进行base64加密。
二、SQL加解密注入靶场逻辑介绍
下面,我们通过一个实战,来进行SQL加解密注入。我们使用sqli_lab的靶场第二阶段21关作为我们的目标靶场,我们登录靶场后,结果如下所示:
我们查看该页面的php源代码,发现有一个check_input的函数,该函数会对一个参数进行过滤,从而起到防止SQL注入攻击的效果,该函数如下所示:
我们可以看到,该页面的php代码逻辑是,如果采用POST的方式传入用户名和密码,那么就会对传入的uname和password参数使用check_input函数进行过滤,如下所示:
但是,如果我们使用cookie的方式传入uname参数,则不会进行check_input的过滤,如下所示:
因此,我们可以想到,我们可以阵地cookie方式提交的uname参数,来进行SQL注入的检验,这就是SQL加解密注入。
三、SQL加解密注入实战
针对上述靶场,我们开始进行SQL加解密注入。
首先,我们狗仔SQL注入的payload,原始的payload如下所示:
admin') and updatexml(1,concat(0x7e,(database()),0x7e),0)#
我们将其进行Base64编码,然后再进行URL编码(该过程可以借助Burpsuit的加解密模块),最终结果如下所示:
将得到的最终的Payload放到uname参数的值执行,结果如下所示:
注意看上图中红线部分,可以看出,我们成功得到了目标网站的数据库名!
同样的道理,我们也可以构造其他的Payload,比如说如下可以获取该数据库下所有数据表的payload。
admin') and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),0)#
将其进项完全相同的处理,如下所示:
之后将其复制成uname参数的值,结果如下所示:
从上图可以看出,我们成功获得了当前数据库下所有的数据表信息,我们的实验成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
边栏推荐
- 人脸数据库收集总结
- Chapter 3 how to use sourcetree to submit code
- Graph translation model
- Sangi diagram of machine learning (for user behavior analysis)
- 2022河南萌新联赛第(三)场:河南大学 B - 逆序对计数
- UE4 controls the rotation of objects by pressing keys
- Codeforces Round #807 (Div. 2)
- Add watermark to ffmpeg video
- 9、 File upload and download
- How to download the supplementary literature?
猜你喜欢
随机推荐
MySQL only checks the reasons for the slow execution of one line statements
Use Baidu PaddlePaddle easydl to complete garbage classification
What are the consequences and problems of computer system restoration
Function knowledge points
一、基础入门
2、 Internationally renowned project HelloWorld
Js手写函数之节流防抖函数
十一、异常处理器
AWS Support Plan
Weights & biases (II)
自动化测试框架该如何搭建?
Build a maker Education Laboratory for teenagers
7、 Restful
MySQL usage
UE4 controls the rotation of objects by pressing keys
Yuansaka Lin wallpaper
Acwing_ 12. Find a specific solution for the knapsack problem_ dp
Solution: runtimeerror: expected object of scalar type int but got scalar type double
UE4 靠近物体时显示文字,远离时文字消失
View and modify the number of database connections









