当前位置:网站首页>CISP-PTE之SQL注入(二次注入的应用)
CISP-PTE之SQL注入(二次注入的应用)
2022-07-05 15:28:00 【炫彩@之星】
CISP-PTE实操题之SQL注入
前言
很久没有给大家发文章了,因为最近在准备CISP-PTE的考试,所以在加紧时间练习中,最近发现实操题中SQL注入又很经典的二次注入的题型,想给大家分享一下做题的方法。
一、实操题之SQL注入
因为这道SQL注入题比较麻烦,讲解比较麻烦,就先用一篇文章专门写这道SQL注入题,后期会更新新的题型讲解。
二、解题步骤及方法
1.寻找解题出思路

从题意中我们可以看出,答案就在我们的数据库里,只需要寻找突破点,注入语句,就可以获取答案了。我们点击进去看看。
发现是一个文章发表系统。我们尝试登录 一下,用弱口令试一下

登入失败,只能注册看一下了
注册了一个hao,123的用户,发现可以进行注册
进去后,看到之前发表的文章,现在尝试发表一下文章,看看是否有注入点
填入数据后,成功插入
我们插入一个乱码和符号看看
当我们插入单引号和注释符的时候,出现报错,说明存在注入点,接下来开始插入SQL语句进行注入。
2.执行SQL注入语句
这时我们就要看用什么注入方法才好呢,通过看题干发现,过滤了’–'和#号,且无法进行直接填入,提交后也无法显示数据库信息,这时我们就会想到二次注入的方法,进行注入SQL查询语句,二次注入的原理和方法在前面的渗透测试专栏已经讲解过了,大家可以回头看看。
(1)首先注册两个账号,以我的示例就是hao,*/‘hao’)#,密码都是123
原理是这样,如下图:
利用二次注入以及注入半闭合完成注入,先在*/’1234ewq’);#浏览器插入文章内容,poc依次如下
AAA’,(select database()),/*
AAA’,(select group_concat(table_name) from information_schema.tables where table_schema like 0x32776562),/*
AAA’,(select group_concat(column_name) from information_schema.columns where table_schema like 0x32776562 and table_name like 0x61727469636C6531 ),/*
AAA’,(select group_concat(content) from (select * from article1 limit 0,1)as a ),/*
返回正常用户1234ewq
这里解答一下,利用//来注释多余的引号,致使我们插入的select语句能够显示出来,其次由于二次注入用户*/’1234ewq’);#最后插入至表中的用户名实际为 1234ewq 所以需要在正常用户去查看
让我们看一下效果吧
利用难度:
首先屏蔽注释符#、–,但是在注册的时候并没有屏蔽注释符,由于mysql特性,//里面的内容会被注释掉,且insert into 表名 value() 方法需要对字段一一填充,也就是说多一个字段不行,少一个字段也不行;且只有2/3字段才能显示出来,故先注册一个二次注入用户名,而后再插入语句中借助二次注入用户名进行特殊闭环,形成
insert article1 value(’’,‘AAA’,(select database()),/’,’’,’/ ‘1234ewq’);#’)
这样插入至数据库则会变成这样
insert article1 value(’’,‘AAA’,(select database()), ‘1234ewq’)
其次就是插入后进行字段查询,由于article1 表出现相同表名会导致数据库死循环,报错,故需要进行as别名,且若是不加入limit语句进行限制,则会无法导出任何内容,limit任意值皆可
以上是网上的详细的解答方法,就是帮助大家理解,我来讲解一下我的方法
先登录*/‘hao’)#账号,这样注册的账号原理,上面已经讲的很清楚了,就是为了注释掉前面和后面的引号和逗号
(2)我们登录进去进行发表文章,接下来就是进行提交SQL语句了,因为这里提交是看不到的,实际上是提交到hao的账号里去了
(3)SQL手工注入方法
select schema_name from information_schema.schemata(查库)
select table_name from information_schema.tables where table_schema=库名(查表)
select column_name from information_schema.columns where table_name=表名(查列)
select 列名 from 库名.表名(查数据)
先查看有哪些库
插入成功
再看看库有哪些表
插入成功
这时,我们通过插入的结果可以看出插入的是article1表
接下来看看表中有哪些字段

表中都有这些字段,这时答案最有可能的是出现在title和content上,所以我们开始查数据,将数据全部输出来

我们可以看到答案就在content字段里,且并不是第一行,而是随机的一行里,所以要多限制几行数据。
答案就是:key1:u9y8tr4n
总结
这道SQL注入题就解析到这里了,希望大家可以好好看看解题思路和二次注入的方法。下次会更新新的CISP-PTE实操题给大家。
边栏推荐
- Boost the development of digital economy and consolidate the base of digital talents - the digital talent competition was successfully held in Kunming
- Verilog realizes the calculation of the maximum common divisor and the minimum common multiple
- Memo 00
- 18.[stm32] read the ROM of DS18B20 temperature sensor and realize multi-point temperature measurement
- Relationship between objects and classes
- 20.[STM32]利用超声波模块和舵机实现智能垃圾桶功能
- Use of RLOCK lock
- wyt 。。
- [brief notes] solve the problem of IDE golang code red and error reporting
- 写单元测试的时候犯的错
猜你喜欢

MySQL 巨坑:update 更新慎用影响行数做判断!!!

Usage and usage instructions of JDBC connection pool

SQL injection sqllabs (basic challenges) 1-10

Arduino controls a tiny hexapod 3D printing robot

Use of set tag in SQL

【网易云信】超分辨率技术在实时音视频领域的研究与实践

Six common transaction solutions, you sing, I come on stage (no best, only better)

Codasip adds verify safe startup function to risc-v processor series
![21. [STM32] I don't understand the I2C protocol. Dig deep into the sequence diagram to help you write the underlying driver](/img/f4/2c935dd9933f5cd4324c29c41ab221.png)
21. [STM32] I don't understand the I2C protocol. Dig deep into the sequence diagram to help you write the underlying driver

Codasip为RISC-V处理器系列增加Veridify安全启动功能
随机推荐
16.[STM32]从原理开始带你了解DS18B20温度传感器-四位数码管显示温度
六种常用事务解决方案,你方唱罢,我登场(没有最好只有更好)
Reproduce ThinkPHP 2 X Arbitrary Code Execution Vulnerability
vant tabbar遮挡内容的解决方式
Use of RLOCK lock
Object. defineProperty() - VS - new Proxy()
Explanation report of the explosion
Subclasses and superclasses of abstract classes
抽象类和接口的区别
一文搞定vscode编写go程序
Memo 00
复现Thinkphp 2.x 任意代码执行漏洞
Write a go program with vscode in one article
一文带你吃透js处理树状结构数据的增删改查
list去重并统计个数
Optional parameters in the for loop
Appium automation test foundation - appium basic operation API (II)
17.[STM32]仅用三根线带你驱动LCD1602液晶
Noi / 1.5 37: mercenaries
list集合根据对象某属性求和,最大值等