小菜写的小脚本,大牛轻拍砖~~~~~~

  渗透前信息收集时喜欢用椰树来获取旁站及二级域名,然后根据二级、三级域名地址扩展C段,扩大扫描业务边界。例如

以联想为例

但,各个旁站对应IP可能不同,或有CDN代理混淆真实IP。正常情况下我会用命令ping 以及nslookup来确定。例如:

nslookup与ping回显不同,且nslookup有多个Addresses一般认为有CDN。不适合扫描C段。

接下来这段比较合适测试,例如:

获得真实ip后,我喜欢用awvs来扫描其C段,从而扩大业务范围。例如用上述ip:

业务范围就打了,随便打开一个,发现个后台。

那么多Ip,难道我要一个一个ping 和nslookup来确定有没有CDN,而且椰树默认提供的是二级、三级域名,肿么办,只能自己写个脚本。

代码如下:

 <?php
/*
◢████████████◣       
   ██████████████       
   ██   ◥██◤   ██       
 ◢███    ◥◤    ██◣      
 ▊▎██◣        ◢█▊▊      
 ▊▎██◤  ●  ●  ◥█▊▊     
 ▊ ██          █▊▊      
 ◥▇██ ▊      ▊ █▇◤      
   ██ ◥▆▄▄▄▄▆◤ █▊   ◢▇▇◣
◢██◥◥▆▅▄▂▂▂▂▄▅▆███◣ ▊◢ █
█╳               ╳█ ◥◤◢◤
◥█◣   ˙     ˙   ◢█◤  ◢◤ 
  ▊             ▊    █  
  ▊             ▊   ◢◤  
  ▊      ⊕      █▇▇▇◤  
 ◢█▇▆▆▆▅▅▅▅▆▆▆▇█◣      
 ▊ ▂ ▊      ▊ ▂  code by elliott
qq 1352133162 function:
获得目标大致真实ip,自动去除cdn代理的结果。方便C段扫描。 usage:
将御剑扫到的二级或三级域名导出至本脚本同目录,文件名默认为zhuanhuan.txt
开扫,默认结果输出为同目录 result.txt variables:
$result1
$result2
$matches1
$matches2
$sucess
$url_array
$url_nums
$filecontent
*/
error_reporting ( E_ERROR | E_WARNING | E_PARSE );
set_time_limit(200); //脚本执行时间默认为2分钟,若要完整结果请设置为0,等待时间较长。 $result1 = '';
$result2 = '';
$matches1 = '';
$matches2 = '';
$url_array = '';
$url_nums = '';
$filecontent = '';
$success = ''; $filecontent = file_get_contents('./zhuanhuan.txt'); //获取御剑得到的结果文本 $url_array = explode("\n",$filecontent);
$url_nums = count($url_array); for($i=0; $i<$url_nums;$i++){
$result1=shell_exec('ping '.$url_array[$i]);
preg_match_all("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/", $result1,$matches1);
$result2 = shell_exec('nslookup '.$url_array[$i]);
preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/", $result2,$matches2); //去除cdn结果
if(count($matches2[0]) >= 2){
continue;
}else{
if(!$matches1[0][1]){
continue;
}
@$success = "find url:".$url_array[$i].'-------'.$matches1[0][1]."\r\n";
if(!$fp1=fopen('result.txt','a+')){
echo "file write error";
} if(fwrite($fp1,$success."\n\r")){
echo 'write success!output to result.txt!';
} fclose($fp1); } } ?>

下载地址:

http://pan.baidu.com/s/1hqpQJQW

用法:

1.用椰树右键导出目标的二级、三级域名。保存文件名为 zhuanhuan.txt

2.将zhuanhuan.txt与findtarget.php放置同一个PHP可执行目录。我放置默认xampp目录。然后执行findtarget.php脚本。我默认脚本执行时间为2分钟,可能执行结果不完全。根据需求你可以将第50行set_time_limit()改为你想要的执行时间。

3.结果保存在同目录的result.txt文本中。该程序功能是批量ping 及  nslookup,自动排除cdn结果。省一些体力。来看看结果

^^ over

一个辅助AWVS C段扫描的小php脚本的更多相关文章

  1. python利用scapy模块写一个TCP路由追踪和扫描存活IP的脚本

    前言: 没有前言 0x01 from scapy.all import * import sys from socket import * import os from threading impor ...

  2. 算法笔记(c++)--使用一个辅助栈排列另一个栈

    算法笔记(c++)--使用一个辅助栈排列另一个栈 仅仅使用一个辅助栈,不使用其他数据结构来排列一个栈,要求,上大下小. 分析下.肯定是先吧主栈中的数据都放到辅助栈中,在辅助栈中上小下大. 1.首先循环 ...

  3. 一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

    一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具 Intro DbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具,原本 ...

  4. 【unity3d游戏开发之基础篇】unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子

    原地址:http://www.cnblogs.com/xuling/archive/2013/03/04/2943154.html 最近开始研究U3D,它的强大就不多说了, 今天研究了研究射线相关东西 ...

  5. 想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研

    想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研 http://blog.csdn.net/testing_is_believing/article/details/22 ...

  6. 使用python写一个简单的C段扫

    纠结C段查询N久..刚刚拿骚棒FD去抓御剑的包,发现emmm...申请了必应的Key 然后去拿必应API查.这里疼[心]原本也想去弄的.但是人懒. 然后就没有然后了. 代码: 生成IP段的脚本图1 # ...

  7. shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。

    shell脚本?在说什么是shell脚本之前,先说说什么是shell. shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包 ...

  8. 分享一个批量导出当前实例下的所有linkedserver脚本

    分享一个批量导出当前实例下的所有linkedserver脚本 很多时候,我们都需要导出实例下面的登录用户,job,linkedserver等等 导出job比较复杂,下午写了一个脚本把所有的linked ...

  9. Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本

    Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本 在 mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文 ...

随机推荐

  1. 自己实现一个Promise库

    源码地址 先看基本使用 const promise = new Promise((resolve, reject) => { resolve(value) // or reject(reason ...

  2. jedispool 连 redis

    java端在使用jedispool 连接redis的时候,在高并发的时候经常卡死,或报连接异常,JedisConnectionException,或者getResource 异常等各种问题 在使用je ...

  3. Qt 等待一段时间例如1s

    QTime dieTime = QTime::currentTime().addMSecs(1000); while( QTime::currentTime() < dieTime ) QCor ...

  4. 自定义控件_水平滑动的View 自定义属性

    保持饥饿,保持愚蠢,我们对待事情本来应该就是这样的 接下来我要写一个水平滑动的自写义,实现效果 水平滑动我们有很多种实现方法,recyceryView,HorizontalScrollView都可以, ...

  5. Win32控制台中使用定时器的方法

    在MFC中用OnTimer()函数就可以很方便的实现定时事件,但在Win32控制台工程中没有消息循环,MSDN里也不推荐把SetTimer()用在Console Applications里. 同理,在 ...

  6. jquery使用replaceWith替换元素,但是替换的位置不对应的问题

    $("#itemList").replaceWith(htmlContent); 注: $("#itemList")处应为tr元素,如果是span元素或者div ...

  7. LeetCode 笔记系列二 Container With Most Water

    题目:Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai ...

  8. java面向对象、构造方法 之内部类

    UML类图 UML  Unified Modeling Language (UML)又称统一建模语言或标准建模语言 在一个类中      属性表示这类事物的性质(描述它的数据)      方法表示这类 ...

  9. Tips-Windows 10【多桌面视窗】操作

    Windows 10[多桌面视窗] 当你点击任务栏上的“task view”按键时,会在屏幕中间显示你当前正在使用的桌面,你可以点击“添加桌面”来创建一个新的桌面,在这个新的桌面你可以打开其他的应用程 ...

  10. swift 下storyboard的页面跳转和传值

    ------------------1. 最简单的方法 拖拽, 这个就不用多解释了吧. 直接拖拽到另一个视图控制器, 选择 show, 就行了. 2. 利用 Segue 方法 (这里主要是 方法1 的 ...