Less-38:Stacked Query Injection-String
猜测字段数:
得出字段数为3,然后查注入点:
注入点为2,3,接着爆系统数据:
然后一口气把数据爆完:
然而题目为堆叠注入,百度了一下堆叠注入,发现为多条sql语句一起执行的意思。根据百度教程:
语句意为插入账号密码均为jack的数据,执行后查看数据库,相应位置存有插入的数据(截图丢失),插入成功(但这方法对获取数据库信息感觉并没有什么用)
我尝试过在 ; 后面接各种注入语句,但都没有成功。(有可能是我的环境不支持)百度了很多堆叠注入也没有可以借鉴的注入方法,百度的几乎都是对SQL数据库进行操作的,先放张堆叠注入原理图:
尝试了好久,无法实现用该类型的方法注入,所以现在能实现的只能是往数据库插数据(增删都可以)。
有关堆叠注入的题我仅能做到插入(删除)数据
Less-39:Stacked Query Injection-Intiger based
查看源代码,关键语句:
由这语句可推理构造堆叠sql语法:
Less-40:Blind based-String-Stacked
看源码,找到关键点:
然后构造语法:
然后插入数据成功。
Less-41:Blind Based-Intiger -Stacked
继续老套路:
Less-42:Error based-String-Stacked
看了一下源码:
构造注入语句:
注入点为2
接着爆数据:
Less-43:Error based-String-Stacked with twist
与Less-42不同的地方:
闭合的地方改成:')
其余地方与Less-42一样,例子:
Less-44:Error based-String-Stacked blind
与Less-42步骤相同,注入语法也相同
Less-45:Error based-String-Stacked blind
与Less-43使用相同的语法
Less-46:Error based-Numeric-ORDER BY CLAUSE
新的注入方式
根据页面提示,使用 ?sort=1 拼接在URL上,直接得出数据库
然后毫无头绪,百度了教程:
http://www.cnblogs.com/lcamry/p/5762710.html
参考例句:
Less-47:Error based-String-ORDER BY Clause
与Less-46类似,多了单引号报错,例子:
Less-48:Error based-Blind-Numeric-ORDER BY Clause
因为是盲注,各种测试无报错,看了下源码关键点(其实也可以用sql语句看有没有爆出信息从而进行判断):
$sql = "SELECT * FROM users ORDER BY $id";
发现直接拼接语句就好,语句与Less-46相同
Less-49:Error based-String-Blind-ORDER BY Clause
用单引号不显示数据,用双引号显示正常,得出sort旁边是单引号
?sort=1'
?sort=1"
接着的注入语句与Less-47相同
Less-50:Error based-ORDER BY Clause-numeric-Stacked Injection
数字型注入:
注入语句与Less-46相同
Less-51:Error based-ORDER BY CLAUSE-String-Stacked Injection
单引号类型
注入语句与Less-47相同
Less-52:Blind based-ORDER BY CLAUSE-numeric-Stacked Injection
因为是盲注,查看了源码:
数字型注入,语句与Less-46相同
Less-53:Blind based-ORDER BY CLAUSE-String-Stacked Injection
双引号正常显示,单引号不显示,得出为单引号类型
注入语句与Less-47相同
领取专属 10元无门槛券
私享最新 技术干货