SQL注入绕过safedog姿势及原理
今天继续给大家介绍渗透测试相关知识,本文主要内容是SQL注入绕过safedog的姿势及原理。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
一、绕过union select联合注入防御
当我们面对安全狗的防护,想要对目标站点进行SQL注入的渗透测试时,会发现安全狗会拦截带有union select的字段,直接使用SQL传统的union联合注入,URL构造如下:
http://192.168.136.7/sqli/Less-2/?id=-1 union select 1,2,3
则会遭到安全狗的拦截,如下所示:
经过多次尝试,使用如下的payload可以绕过安全狗的防御
http://192.168.136.7/sqli/Less-2/?id=-1 union--+tctctc%0A select 1,2,3
上述url访问后页面如下所示:
为什么上述payload能够绕过安全狗的防御呢,让我们来仔细看一下上述payload中关键的部分:
在union和select关键字中间,添加了如下内容:
union--+tctctc%0A select
要理解上述payload,主要是理解为什么上述SQL语句能够成功执行,以及安全狗将上述SQL语句判定为什么。
在上述payload中,–是注释符,在安全狗认为,–后面的所有内容均为注释,因此没有出现union和select的联合注入威胁,因此被绕过。
而对于数据库而言,尽管–后面的内容被认为是注释,但是需要注意的是%0A在URL编码中是换行符的意思,即%0A后面的内容被换行,因此–注释的仅仅是tctctc这些我们故意构造的绕过安全狗的数据,因此上述SQL语句可以被数据库正常执行!
二、绕过database数据库名查询的防御
安全狗还会对查询database数据库的SQL语句进行防御,例如,如果我们访问如下的URL:
http://192.168.136.7/sqli/Less-2/?id=-1 union--+tctctc%0A select 1,2,database()
那么会被安全狗所拦截,结果如下所示:
上述payload被拦截的原因,就是出现了database()关键字,那么我们如何绕过该关键字呢?
我们可以利用MySQL数据库特性来绕过该限制,构造payload如下所示:
http://192.168.136.7/sqli/Less-2/?id=-1 union--+tctctc%0A select 1,2,database/**/()
该pyaload与之前的payload不同之处在于,在database和括号之间插入了/**/,这在MySQL数据库中可以正常执行,但是在安全狗中认为分割了database(),因此被绕过,该payload执行结果如下所示:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
相关文章
- 1.sql注入基础
- sql注入原理和预防
- http.sys远程代码注入漏洞
- 入侵mysql数据库_SQL注入漏洞
- 【JAVA代码审计】从零开始的JDBC下的SQL注入审计
- SQL注入基本原理_sql到底怎么注入
- log4j2 JNDI注入漏洞速通~
- SQL开发知识:Sql注入原理简介
- MySQL 及 SQL 注入与防范方法
- sql注入数据库原理详情介绍
- 初识SQL注入详解数据库
- 两段简单的JS代码防止SQL注入详解编程语言
- SQL与MySQL的异同比较(sql与mysql的区别)
- Oracle 日期SQL:超简单查询技巧(oracle日期sql)
- 环境预防SQL注入, 把Oracle环境保护好(sql注入oracle)
- 攻击JavaWeb应用[3]-SQL注入[1]
- 详细的解析PHP+MYSQL注入的发生事件
- 防止mysql SQL注入攻击的措施(Mysql的sql注入)
- MySQL中快速实现递归查询的SQL示例(mysql递归查询sql)
- 手工注入MSSQL:攻克安全难题(手工注入mssql)
- SQL服务开启:突破MS SQL的瓶颈(sql服务开启mssql)
- MSSQL实现SQL注入防护的完美解决方案(mssql 防sql注入)
- 掌握Oracle中的SQL语句奥妙(oracle中sql语句)
- MSSQL注入窃取字段列名的危害(mssql注入获取列名)
- MSSQL注入攻击预防:编写安全的存储过程(mssql注入的存储过程)
- 如何用Oracle写出良好的SQL语句(oracle写sql提示)
- SQL表格与Redis的互通之旅(sql表格 redis)
- Oracle SQL掌握除法的精髓(oracle sql除法)
- 化分析利用Oracle SQL进行量化分析(oracle sql?量)
- 掌握Oracle SQL语法,灵活运用SQL技巧(oracle sql用法)
- PHP登录环节防止sql注入的方法浅析