设为首页 收藏本站
查看: 1346|回复: 0

[经验分享] Perl WebMode(目录扫描/同IP域名扫描)

[复制链接]

尚未签到

发表于 2015-12-27 02:38:43 | 显示全部楼层 |阅读模式
  先说好,这玩意没有完工。目前只是做个整合。目前对其的要求是:
  根据目标的域名,对网站爬虫,以及同IP域名分析,还有就是目录的扫描,系统的检测。
  还有就是指纹识别。漏洞扫描等等。
  目前该WebMode只是一部分,还在研究当中。还需要修改,只是把大致的框框弄出来。。



package WebMode;
use HTTP::Request;
use LWP::UserAgent;
use Getopt::Long;
use threads;
use Thread::Semaphore;
use Socket;
use HTTP::Response;
use HTTP::Request::Common;
sub Waring_pr{
local($number)=shift;
if($number==1)
{
print "---------------------------------------------------------------------\n";
print "perl WebMode.pl -Url http://www.baidu.com --Thread 10 -List loal.list\n";
print "---------------------------------------------------------------------\n";
exit(0);
}
else
{
print "---------------------------------------------------------------\n";
print "perl PostWeb.pl -url xxx.com -option POST/GET --output filename\n";
print "---------------------------------------------------------------\n";
exit(0);
}
}
sub Grep_task{
local($url_other)=shift;
@other_list=split(/<li>/,$url_other);
foreach my $url(@other_list)
{
if($url=~m#href='(.*)'#)
        {
push(@url,$1);
}
}
@report_other_url=Report_Mode("@url");
if($report eq undef)
{
open FILE,">$task_name.html";
}
else
{
open FILE,">$report.html";
}
print FILE "@report_other_url";
close(FILE);
}

sub Report_Mode{
local($temp_url)=shift;
@temp_url=split(/\s+/,$temp_url);
push(@report_html,"<html>");
push(@report_html,"<head><title>Report</title></head>");
push(@report_html,"<body>");
foreach my $task_url (@temp_url)
{
print "----------------\n";
print "Url:$task_url\n";
print "----------------\n";
$task="<a href=\"$task_url\">$task_url</a><br />";
push(@report_url,$task);
}
push(@report_html,"@report_url");
push(@report_html,"</body>");
push(@report_html,"</html>");
return @report_html;
}

sub Check_null{
local($check_task)=shift;
if($check_task =~m#\d#)
    {
if($check_task <10)
{
$check_task=10;
return $check_task;
}
else
{
return $check_task;
}
}
else
{
if($check_task eq undef)
{
return Waring_pr();
}
else
{
return $check_task;
}
}
}
sub Thread{
($threads_max,$list_file,$weburl)=@_;
Check_null($threads_max);
Check_null($list_file);
Check_null($weburl);
my $signal_max=Thread::Semaphore->new($threads_max);
open(FILE,$list_file);
foreach(<FILE>)
{
if(${$signal_max}<=0)
{
for my $t(threads->list(threads::joinable))
{
$t->join();
$signal_max->up();
}
redo;
}
$signal_max->down();
chomp;
$scan_task="$weburl/$_";
threads->create(\&Webscan,$scan_task);
}
for my $t(threads->list())
{
$t->join();
}
close(FILE);
}
sub Webscan{
local($scan_task)=shift;
if($scan_task !~/^http/)
{
$scan_task="http://$scan_url";
}
my $request=HTTP::Request->new(GET=>$scan_task);
my $uat=LWP::UserAgent->new();
$uat->timeout(3);
my $reponse=>$uat->request($request);
if($response->status_line=~/200/)
{
print "
  • $scan_url=========[200]
  • \n";
    }
    elsif($response->status_line=~/403/)
    {
    print "
  • $scan_url=========[403]
  • \n";
    }
    }
    sub Post_send{
    local($task_url)=shift;
    $agent=new LWP::UserAgent;
    $request=POST('http://tool.chinaz.com/Same/',[s=>$task_url]);
    $request->header('User-Agent'=>'Mozilla/5.0 (X11; Linux x86_64; rv:18.0)');
    $request->header('Accept-Encoding'=>'zh-cn,en-us;q=0.7,en;q=0.3');
    $response=$agent->request($request);
    if($response->is_success)
    {
    $url_tmp=$response->content;
    if($url_tmp=~m#<ul><li><span>(.*)</li></ul>#)
            {
    Grep_task($1);
    }
    }
    else
    {
    print "Error!!\n";
    }
    }
    sub Get_send{
    local($task_url)=shift;
    $agent=new LWP::UserAgent;
    $request=GET('http://www.baidu.com/');
    $request->header('User-Agent'=>'Mozilla/5.0 (X11; Linux x86_64; rv:18.0)');
    $request->header('Accept-Encoding'=>'zh-cn,en-us;q=0.7,en;q=0.3');
    $response=$agent->request($request);
    if($response->is_success)
    {
    print "ok!\n";
    }
    else
    {
    print "No\n";
    }
    }
    1;
      

  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-156755-1-1.html 上篇帖子: perl首次安装Can’t locate CPAN.pm in @INC的解决办法 下篇帖子: Perl的DATA文件句柄
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表