一次简单的SQL注入绕WAF】的更多相关文章

本人也是小白一枚,大佬请绕过,这个其实是六月份的时候做的,那时候想多点实战经验,就直接用谷歌搜索找了一些网站,这个是其中一个 1.目标网站 2.发现有WAF防护 3.判断存在注入 4.猜测了一下闭合为",果真是"闭合,而且没有触发WAF,感觉还挺幸运的 5.尝试使用 order by判断当前数据库的字段数为20,本来以为WAF会拦截,发现也没有拦截 6.判断显示位,这次直接被拦截了 7.绕WAF,通过使用(+)代替空格的方法绕过WAF的拦截,并大写UNION SELECT,判断出显错点…
0x00 前言 在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影.从半年前的测试虚拟机里面,翻出了360主机卫士Apache版的安装包,就当做是一个纪念版吧.这边主要分享一下几种思路,Bypass 360主机卫士SQL注入防御. 0x01 环境搭建 360主机卫士官网:http://zhuji.360.cn软件版本:360主机卫士Apache 纪念版测试环境:phpStudy这边主要分享一下几种思路,Bypass 360…
简单的sql注入1 看着这个简单的界面,一时间没有特别好的思路,先输入一个1',发生了报错 初步猜测这是一个字符型的注入,他将我们输入的语句直接当成sql语句执行了,按题目的意思后面肯定过滤了很多注入语句,我就先来尝试一些基本的语句 难道把union select都给过滤了?一阵绝望后接着试,试了好多后完全没思路 接着大概就是传说中的运气吧 这两个现象让我猜测过滤的是两个空格以及空格中间的字符串,绕过空格有好多方法:+,/**/,%0a,这里我用/**/代替空格构造一个查询语句: 拿到数据库,接…
实验吧第二题 who are you? 很有意思,过两天好好分析写一下.简单的SQL注入之3也很有意思,适合做手工练习,详细分析见下. http://ctf5.shiyanbar.com/web/index_3.php  随便输入111' 便报错,由报错内容可知较多信息: 通过 1' and '1'='1 返回正确, 1' and '1'='2 返回错误可知,当输入正确值的时候返回hello,输入错误值无显示,且过滤了sleep().进行猜解表名: 方法一:1' and (select coun…
题目链接:http://ctf5.shiyanbar.com/423/web/ 简单的SQL注入之1,比2,3都简单一些.利用2 的查询语句也可以实现:1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1 经测试,简单的SQL注入1 过滤了关键字,重复写即可绕过,如:1' unionunion  selectselect  flag  fromfrom  web1.flag  wherewhere  '1'='…
引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt/lampp/htdocs目录下: 解释一下这个页面: 1.通过if语句判断变量是否初始化 2.if语句中通过mysql_connect()函数连接数据库 3.连接数据库成功后,选择一个数据库 4.选择完数据库后执行一条mysql查询 5.进行查询结果的处理 6.使用echo讲查询结果输出,便于查看…
实验吧的三道sql注入(感觉实验吧大部分web都是注入) 简单的SQL注入 地址:http://ctf5.shiyanbar.com/423/web/ 这道题也是sql注入,输入1,页面显示正常,输出1',页面报错 还是走流程把  fuzz下 发现过滤了and union之类的.不过尝试后发现是可以构造双写关键词 uniunionion 下面尝试爆表名和字段,发现他过滤了很多关键字:and,select,from,union,where,这里绕过关键字的方法有:关键字中间加/**/隔断,/*!关…
接上面一篇博客. 实验吧简单的sql注入1 题目连接   http://ctf5.shiyanbar.com/423/web/ 同样,直接输入 1加个但引号,结果下面有返回错误,              ,         有错,所以估计这里应该是要闭合,字符行注入,但是这个标题,到底过滤了什么,目前我还不知道过滤了什么,所以先搞一下.. 输入  1' and 1=1#  按理说应该是返回正常,结果返回了一个错误 ‘#‘  被过滤了,那好 还有其他姿势,输入   1’ and '1'='1 结…
今天早上起来发现有人评论说我没更新实验吧sql注入3,主要是因为前段时间都去做bugku去了 但是重做这道题发现以前的姿势不行了,exp()报错不再溢出,现在不能用这个姿势,所以这里重新整理了一遍思路,这里也写了我自己做题的过程并且也写了我错误的思路等等. 实验吧简单的sql注入3: 连接: http://ctf5.shiyanbar.com/web/index_3.php?id=1 方法一: 这道题和前两道题的区别,这道题的回显不像上两道题在下面会回显你输入的东西,只会给你返回一个hello!…
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 本文小结 0x6 参考资料 0x0 前言 促使本文产生最初的动机是前些天在做测试时一些攻击向量被WAF挡掉了,而且遇到异常输入直接发生重定向.之前对WAF并不太了解,因此趁此机会科普一下并查阅了一些绕过WAF的方法.网上关于绕过WAF有诸多文章,但是观察之后会发现大体上绕过WAF的方法就那八.九种,…
知己知彼百战不殆 --孙子兵法 [目录] 0x00 前言 0x01 WAF的常见特征 0x02 绕过WAF的方法 0x03 SQLi Filter的实现及Evasion 0x04 延伸及测试向量示例 0x05 本文小结 0x06 参考资料 0x00 前言 笔者前几天在做测试时输入攻击向量后页面发生了重定向甚至异常输入也是重定向怀疑其中有WAF在作怪.之前对WAF接触比较少纯粹是新手趁此科普了一下并查阅了一些绕过WAF的方法.所找到的资料中主要分为两类SQL注入和XSS绕过笔者SQL注入同样是新手…
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 本文小结 0x6 参考资料 0x0 前言 促使本文产生最初的动机是前些天在做测试时一些攻击向量被WAF挡掉了,而且遇到异常输入直接发生重定向.之前对WAF并不太了解,因此趁此机会科普一下并查阅了一些绕过WAF的方法.网上关于绕过WAF有诸多文章,但是观察之后会发现大体上绕过WAF的方法就那八.九种,…
这是我真正意义上来说做的第一道SQL题目,感觉从这个题目里还是能学到好多东西的,这里记录一下这个题目的writeup和在其中学到的东西 link:https://www.ichunqiu.com/battalion Web分类下的SQL 尝试SQL注入 进入这个模拟环境之后,会得到一个提示为flag在数据库中,这时候查看url栏可以发现 嗯这个就有SQL注入内味了,然后试一下id=2或者id=3,发现id=2时候可以出来提示为test,然后再往后就什么都不出来了,这时候我先假装id后面的东西是一…
  绕过waf分类: 白盒绕过: 针对代码审计,有的waf采用代码的方式,编写过滤函数,如下blacklist()函数所示: 1 ........ 2 3 $id=$_GET['id']; 4 5 $id=blacklist($id); 6 7 $sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1"; 8 9 $result=mysql_query($sql); 10 11 $row=mysql_fetch_array($result);…
记一道SSRF配合SQL注入的题. 喜欢在做题之前扫一下网站的目录,扫到了robots.txt文件可以访问,拿到user.php.bak的源码.同时还有flag.php. <?php class UserInfo { public $name = ""; public $age = 0; public $blog = ""; public function __construct($name, $age, $blog) { $this->name = $…
这个注入挺特殊的,是ip头注入.我们进行简单的探测: 首先正常发起一次请求,我们发现content-type是76 探测注入我习惯性的一个单引号: 一个单引号我发现长度还是76 我开始尝试单引号,双引号一起: 我失败了长度还是76 一般sql注入输入单引号一般长度都会有些变化. 我记录深入探测,我输入'--%20 返回了200,并且长度是0,这让我产生了一丝好奇.这里很有可能存在注入哦. 我继续探测: 输入--%20 嘶!我不禁开始怀疑这里是不是本身就不存在安全问题呢? 我都感觉像是数字类型了,…
一.通配符简介: 一般来讲,通配符包含*和?,都是英文符号,*用来匹配任意个任意字符,?用来匹配一个任意字符. 举个例子使用通配符查看文件,可以很名下看到打卡的文件是/etc/resolv.conf: └─[$]> /???/r????v.c??f # # macOS Notice # # This file is not consulted for DNS hostname resolution, address # resolution, or the DNS query routing m…
这几天在做CTF当中遇到了几次sql注入都是union,写篇博客记录学习一下. 首先推荐一篇文章“https://blog.csdn.net/Litbai_zhang/article/details/83869918” 再附上一张文章里面的图 接下来直接上题 1.这个看起来有点简单 题目连接:http://ctf5.shiyanbar.com/8/index.php?id=1 首先一进去看着那个表,和url里面的id=1,就感觉应该是SQL注入的题. 老样子,先把id=1,改成id=2,和id=…
WAF是什么? Web应用防护系统(也称:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).也叫Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护.SQL注入.XML注入.XSS等. WAF分类: 代码WAF:将规则写在web代码中,并去匹配,来过滤. 软件WAF:监听端口或以Web容器扩展方式进行请求检测和阻断 硬件WAF:专门硬件防护设备,代理流量,并做分析,再做是否转发的处理 云WAF:通过dns域名移交技术,将流量暂时发送到…
0x01 背景 15年那会,几乎可以说是渗透最火的一年,各种教程各种文章,本人也是有幸在那几年学到了一些皮毛,中间因学业问题将其荒废至今.当初最早学的便是,and 1=1 和 and 1=2 这最简单的检测注入的方法.如今这种网站几乎可以说是没有了吧2333,现在目标也没有以前那么容易找,想来应该也不会有企业用那种源码了.现今刚好在学Python,闲着无事便来写这么个工具练练手. 0x02 准备 Python基础(至少要有一定的基础才能看懂) URL采集器(寻找目标) Request库(Requ…
php mysql 在浏览器输入用户名,去数据库查询.查到则显示在浏览器,查不到则显示空. sql 里面三个字段 id username password create table t1 (id int(3) NOT NULL AUTO_INCREMENT,username char(10) NOT NULL,password varchar(20)); insert into t1 values(1,'hello','world'); index.php //php mysql 在浏览器输入用…
 什么是sql注入攻击?  所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击. 1.判断注入点是否有效 sqlmap -u "http://xxx.xxx.com/product.php?type_id=59" 2,查找数据库 sqlmap -u "http://xxx.x…
直接打开解题连接: 既然是SQL注入,那么我们就要构造注入语句了,这个就要有耐心一个一个去尝试了 输入语句 1'and 1=1 # 和 1'and/**/1=1/**/#后 对比一下,发现是过滤掉了空格,我们用/**/代替空格 下面就要构造找flag的语句了 1'/**/union/**/select/**/flag/**/from/**/flag# 最后就能找到flag了,(其实这里面还有一些步骤,用SQLMap跑啊跑~)…
在数据库中生成 一个用户表  有用户名 username 和密码password 字段 并插入两组数据 正常的sql查询结果 非正常查询途径返回的结果 下面用一段java代码 演示一下用户登录时的sql注入问题 package demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sq…
基本/简单绕过方法: 1.注释符 http://www.0dayhack.com/index.php?page_id=-15 /*!UNION*/ /*!SELECT*/ 1,2,3,4-. 2.使用大小写 http://www.0dayhack.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4-. 3.结合前面两种方法 http://www.0dayhack.com/index.php?page_id=-15 /*!uNIOn*/ /*!SelECt…
扫描目标站点,是否存在注入 --users获取用户名 --dump --tables探测表和数据库信息 跑出来的字段 admin --dump -T admin -C admin,password暴库获取用户名和密码^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
Topic Link http://ctf5.shiyanbar.com/web/index_3.php 1)测试正确值submit:1 测试目标和对象要明确: 2)单引号测试(判断存在字符型注入&&数据库是MySQL) 3)进一步测试 (and测试) 1' and 1=1# 显示正常 1' and 1=2# 显示不正常 判断存在注入漏洞 /*************** 一般性测试思路 ***************/ 4)测试联合注入 # order by  判断列数n 1' orde…
Topic Link http://ctf5.shiyanbar.com/web/index_2.php 一.方法One sqlmap直接跑出来 1)暴库 2)爆表 3)爆段 4) 结果 二.方法Two 手工注入 1)测试输入1的时候正常显示 ​ 2) 单引号测试输入1'发现存在漏洞(判断为字符型注入) 3)测试 1’ or '1'='1 发现页面显示SQLi detected! 于是,猜想会不会是空格被过滤了,尝试一下用 /**/ 进行测试,果然猜测没错空格被过滤了 submit:1'/**/…
直接输入11'报语法错误,然后输入1' and '1'='1 报SQLi detected!,说明有防护,输入1'and'1'='1回显ID: 1'and'1'='1  name: baloteli 说明过滤了"空格" 照原有的思路,库名,表名,字段名,flag进行尝试 查看有哪些数据库1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1 查看有哪些表…
Topic Link http://ctf5.shiyanbar.com/423/web/ 1)测试输入1的时候正常显示 2) 单引号测试输入1'发现存在漏洞(判断为字符型注入) 3) 联合注入测试(此处过滤了union.select.from.where关键字) payload: http://ctf5.shiyanbar.com/423/web/?id=1%27+union+select+%27100 根据页面回显信息(空白),判断出关键字应该被过滤了 4) 绕过此处的过滤 重复关键字绕过…