sqli-labs实践

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相同

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181105G1XKUU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券