Wker_SearchEngineScanVlun FrameWork搜索引擎漏洞链接统计框架

工具信息

工具名:Wker_SearchEngineScanVlun FrameWork
运行平台:Windows
开发时长:2天
当前版本:1.0
完成日期:2020年5月24日
插件数目:5个搜索引擎插件,3个漏洞检测插件
用途:用来统计搜索引擎对于某种漏洞的页面的持有数目。

前言

写这个小软件其实想了好多,一开始并不想去写,但是为了能够更好的提升Web安全的质量,所以编写了这款小工具。
工具的作用是对某个搜索引擎(例如百度谷歌)所爬取的链接进行漏洞的检测,以此提升整个web的安全质量。
在写这个程序之前我一开始装备使用B/S架构编写,也就是想beef,nessus这样的程序实现浏览器的UI交互方式,因为之前开发的B/S架构都是用的别的语言进行开发,C++开发这种的也写过,但是没写的很好,本想尝试一下,但是学校开学了(大二学生是真苦逼),所以只能重新改为C/S架构了。

工具框架

既然称之为FrameWork,所以我起初编写的是一个框架,然后才写的插件,所以说自己也是可以编写属于自己插件的。
工具分为了两个框架,一个是搜索引擎的框架,另外一个是漏洞检测框架。

  1. 搜索引擎框架是用来从搜索引擎中提取链接
  2. 漏洞检测框架式用来检测链接是否存在漏洞

我沿用了nessus的思想,实现从插件中提取,生成策略的方法。

首先我们先下载程序,下载链接我会在文章底部进行提供的,下载完毕之后,是个zip,直接解压运行就好了。
里面的Wker_SearchEngineScanVlun FrameWork.exe就是框架程序了,运行之后,我们可以进行。
运行程序之后我们会看到AboutDialog,里面有一些说明信息。
AboutDialog
这里就是说明,如果通过本软件做任何违法的事情,所有的后果与作者无关。
还说了,如果想要获取更多的插件,我们需要到我的博客上进行下载。
如果同意上述的许可,就点击确定。

在这之前我先要介绍一些工具的目录。

  1. Search_Engine这个文件夹下面是存放搜索引擎插件的
  2. Vlun这个文件夹是存在漏洞检测插件的
  3. txt这个目录是我在编写插件的时候,用到的一些txt,点进去就能看明白了
  4. Ploic这个文件夹是我们生成的策略文件

了解这么多之后我们就可以来配置我们的策略了,进入程序之后我们就可以看到下面的界面。


可以看到左上角的策略菜单,我们点击,下面有个子菜单,我们点击新建策略。

可以看到左边是搜索引擎的插件,右边是漏洞扫描的插件。
当然这里需要注意的是Google插件是需要翻墙的,我没有提供代理,所以你只能使用全局代理(PAC的就可以),所以我这里拿百度的插件进行演示。
把百度的钩给勾选上,然后双击百度那一行,然后会弹出一个对话框,我们输入我们想要使用的搜索语句,例如:inurl:asp?id=33这类的语句。然后点击确定就好了。然后起始页和结束页自己选择就好了,然后选择漏洞扫描插件,这里我只写了三个,SQL注入,XPATH注入,XSS注入的。使用的前后缀在txt目录下你们可以看到。
我们生成一个策略之后,我们就可以使用我们生成的策略。

可以观察到,有点慢,因为我们在txt中的前后缀很多,所以我建议大家可以自己去修改。

开发插件

  1. 搜索引擎插件

使用MFC的DLL去编写插件:

extern "C" BOOL GetLink(CString SearchValue,int page,CStringArray *ResultLink)

在你的DLL中导出一个这个名字的函数,第一个参数,是搜索的内容,第二个参数是搜索的页数,第三个参数是返回的数组。
一二个参数是我给你的,第三个参数是你给我的。

  1. 漏洞检测插件

首先我们需要定义一个结构体:

struct URLStruct
{
	DWORD HTTPFlag;
	CString Domain;
	CString path;
	CMap<CString,LPCTSTR,CString,LPCTSTR> arg;
	INTERNET_PORT PORT;
};

导入一个头文件:
#include <afxinet.h>

extern "C" BOOL ScanVlun(URLStruct* Link,CString *Detail)

在你的DLL中导出一个这个名字的函数,第一个参数就是哪个结构体了,第二参数是详细信息,返回值是是否存在漏洞。

  1. HTTPFlag这个是网站链接的类型
  2. Domain是域
  3. path是路径
  4. arg是参数的键值对
  5. PORT是使用的端口

第一参数是我给你的,第二个参数是你给我的。

后记

程序存在的缺陷:

  1. 我没使用多线程(很快会更新)
  2. 界面做的很随便
  3. 插件没有超时,所以一个死链接可能会很久才回会过去(这个是检测漏洞的插件我写的时候我没注意)

插件我会经常更新(两三天有空就写一个),我会在我的博客进行发布的:https://wker666.github.io/
这里我需要强调的是:绝对不能做违法的事情,就和条约上写的一样。

下载地址:
Wker_SearchEngineScanVlun FrameWork Setup.zip (974.7 KB)

我为什么不写fofa,shodan,钟馗插件,是因为我怕有人会恶意替换这个插件。

有漏洞的话呢大家帮我提出来,我去修复。

3 个赞

这个工具就是相当于输入一个关键字在搜索引擎里面,然后工具识别是否有漏洞存在

有个问题哈,就是,一个新的漏洞出现了,比如dz,那我能否自己添加这个新漏洞的测试poc?

自己写漏洞插件就可以了,其实说白了就是写一个导出函数名称固定的一个dll,这个函数模版我在上面写到了,通过返回true表示存在漏洞和第二个指针参数来描述这漏洞的详细信息,链接的话呢是通过前面的搜索引擎框架获取到的链接,我已经写了百度谷歌必应搜狗360的,感觉差不多常用的都写了,我会把提取到的链接转发给你编写好的dll,这样就可以实现搜索引擎提取链接,然后把这个链接转发给漏洞检测插件,判断是否存漏洞

1 个赞

明天我改下文章,加上个编写一个漏洞检测的插件的流程 :hamburger:

很强 :+1:

可以码上 90sec出品 打个90的广告 :face_with_hand_over_mouth:

可以的,等下我改一下发上来

2 个赞

Wker_SearchEngineScanVlun FrameWork.zip (146.7 KB)

2 个赞

闪退!

你用的之前的那些插件了,换成新的就好了,之前的写的:u6709:bug :sweat_smile: