SQL注入实战:绕过操作

一:绕过操作

1、常用绕过方式

大小写绕过

通过修改关键字内字母大小写来绕过过滤措施。例如:AnD1=1Select* from ** oRdEr by 1

双写绕过

使用双写绕过。因为在过滤过程中只进行了一次替换。就是将关键字替换为对应的空。

比如 union在程序员处理时被替换为空,那需要我们可以尝试把union改写为Ununionion,这样红

色部分替换为空,则剩下的依然为union还可以结合大小写过滤一起使用

编码绕过

可以利用网络中的开源的URL在线编码,绕过SQL注入的过滤机制。更好用的 bp 别忘记

内联注释绕过:

在Mysql中内联注释中的内容可以被当作SOL语句执行。

2、绕过操作实操

绕过去除注释符的sql注入

preg replace(mixed $pattern, mixed $replacement, mixed$subject):执行-个正则表达式的搜索和替换。

$pattern:要搜索的模式,可以是字符串或一个字符串数组

$replacement:用于替换的字符串或字符串数组。

$subject:要搜索替换的目标字符串或字符串数组。

a、绕过姿态

利用or '1'='1闭合单引号或者||‘1

或者联合查询

演示:sqli-labs less-23   

用or绕过

用联合查询:?id=1' union select 1,2,'3 (闭合单引号)登入成功

?id=1改成?id=-1

绕过去除and和or的sql注入

绕过姿态(利用这些进行绕过)

1、大小写变形,Or,OR,oR,And,ANd,aND等-代码中大小写不敏感都剔除

2、在这两个敏感词中添加注释,例如:a/**/nd 双写绕过oorr

3、利用符号代替--and --&&          --or--||  等

演示:sqli-labs less-25

?id=1 Anandd 1=1或者?id=1 && 1=1或者?id=-1 oorr 1=1

绕过去除空格的sql注入

绕过姿态

编码绕过:hex,urlencode

空格URL编码%20

%09TAB键(水平)

%0a新建一行

%0c新的一页

%0d return功能

%0bTAB键(垂直)

演示:sqli-labs less-26

绕过去除union和select的sql注入

演示:sqli-labs less-27

输入下面语句(大小写进行绕过)

3、SQL注入解决方案

1、对所有可能来自用户输入的数据进行严格的检查

2、数据库配置最小权限原则

3、对进入数据库的特殊字符进行转义处理,或者编码转化

4、数据长度严格规定

5、网站的每个数据层的编码统一,建议全部使用utf-8编码

6、严格限制网站用户的数据库的操作权限

7、避免网站显示sql错误信息

8、网站发布前,又建议使用专业的sql注入检测工具检测

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQL注入双写绕过是一种SQL注入攻击的技术手段,用于绕过一些简单的防御机制。其原理如下: 1. SQL注入简介:SQL注入是一种常见的安全漏洞,攻击者通过在用户输入的数据中插入恶意的SQL代码,从而执行非法的数据库操作。这些恶意代码可以修改、删除或者泄露数据库中的数据。 2. 双写绕过原理:在一些情况下,开发人员会对用户输入进行简单的过滤,例如替换特殊字符或者转义字符。然而,攻击者可以利用这种过滤机制中的漏洞,通过双写绕过绕过过滤。 - 双写:攻击者可以利用某些字符的特性,在输入中使用两个相同的字符来绕过过滤。例如,如果过滤机制将单引号(')替换为两个单引号(''),那么攻击者可以在输入中使用两个单引号来绕过过滤。 - 绕过:通过使用双写来绕过过滤,攻击者可以成功地插入恶意的SQL代码,从而执行非法的数据库操作。 3. 示例:假设有一个登录页面,用户需要输入用户名和密码进行登录。开发人员对用户输入进行了简单的过滤,将单引号替换为两个单引号。攻击者可以利用双写绕过绕过这个过滤机制。 - 原始查询:SELECT * FROM users WHERE username = 'admin' AND password = 'password' - 过滤后的查询:SELECT * FROM users WHERE username = 'admin'' AND password = 'password' 攻击者可以在用户名输入框中输入 `' OR '1'='1`,这样在拼接SQL语句时,会变成: SELECT * FROM users WHERE username = '' OR '1'='1' AND password = 'password' 这样,攻击者成功绕过了过滤机制,并且可以登录到管理员账户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ting~liang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值