最新消息:

黑阔工具之网站目录扫描工具(带C语言源码)

C++ admin 3185浏览 0评论

网站渗透过程中  目录扫描工具是必备的   可以通过路径判断 对方网站是什么程序做的  以及发现一些敏感的目录  甚至直接扫描到数据库下载路径。

本工具是今天无聊写的,代码乱到我自己都不想看,功能勉强算实现了,为让大家放心,源代码也放出来,大家可以随意改,没啥技术含量的东西。

工具名字 就叫  网站目录扫描工具 (mulusm.exe)

141225nttmkggbimvd5yj6
141225q5w3zwcz3did35db

141225z5zaw5yy48glyphp

网站目录扫描工具 源码:(有bug欢迎提出,我qq在代码中)

/*
*        工具名称:目录扫描器(mulusm.exe)
*                作者:飞仔
*                  QQ: 841116165
*                网站:[url]www.zixue7.com[/url]
*                时间:2014/3/18
*        使用命令:mulusm.exe -h [url]www.zixue7.com/admin/[/url] -f outfile
*/
#include <winsock2.h>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <curl/curl.h>
#include "concol.h"

#pragma comment(lib, "curllib.lib")

#define                PATHFILE        "zixue7.dat"


static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
        char *p = (char *)ptr;
        if(*(p+9)=='2' && *(p+10)=='0' && *(p+11)=='0')
        {
                fputs(" style='color:red;' ", (FILE*)stream);
                setcolor(green,black);
        }
        return size*nmemb;
}

void useage()
{
        setcolor(yellow, black);
        printf( "╔══════════════════════════════╗\n"
                "║               网站目录扫描工具(mulusm.exe)                 ║\n"
                "╠══════════════════════════════╣\n"
                "║              与众不同的是,支持https访问的网站             ║\n"
                "╠══════════════════════════════╣\n"
                "║作者:飞仔  QQ:841116165 免费的黑阔自学论坛 [url]www.zixue7.com[/url]   ║\n"
                "╠══════════════════════════════╣\n"
                "║ 用法:mulusm.exe -h [url]www.baidu.com:80/admin/[/url] -f zixue7.html  ║\n"
                "╠══════════════════════════════╣\n"
                "║     -h:表示网站地址                                        ║\n"
                "║        如果端口默认不是80就修改冒号后面的数字(默认可不写)  ║\n"
                "║     -f:表示扫描结果放到什么文件,默认  域名.html           ║\n"
                "╚══════════════════════════════╝\n");
        setcolor(white,black);
        Sleep(10000);
}

int main(int argc, char **argv)
{
        char temp[1000]="",ch[2]="", url[1000]="", host[500]="", root[200]="", outfile[200]="", port[6]="";
        FILE *fr,*fw;
        //        struct socket_in addr;
        int i=0;
        CURL *curl;
        CURLcode res;

        //如果没有命令行参数少于3个退出
        if(argc<3)
        {
                useage();
                return 0;
        }

        //分析命令行参数
        for(i=0; i<argc; i++)
        {
                //获取主机地址
                if(strcmp(argv[i],"-h") == 0)
                {
                        strcpy_s(host, argv[++i]);
                }



                //获取输出文件
                if(strcmp(argv[i],"-f") == 0)
                {
                        strcpy_s(outfile, argv[++i]);
                }
        }

        if(!strlen(outfile))
        {
                strcpy_s(outfile,host);
                strcat_s(outfile,".html");
        }



        fr = fopen(PATHFILE, "r");
        if(!fr)
        {
                printf("%s 文件打开失败!请检查是否存在!!", PATHFILE);
                return -1;
        }

        fw = fopen(outfile, "w");
        if(!fw)
        {
                printf("%s 文件打开失败!请检查是否存在!!", outfile);
                return -1;
        }

        curl_global_init(CURL_GLOBAL_DEFAULT);
        curl = curl_easy_init();
        if(!curl)
        {
                printf("curl init failed");
                return 0;
        }

        fputs("<p style='font-size:24px;line-height:50px;color:red;'>黑阔交流论坛 <a target='_blank' style='font-size:24px;line-height:50px;color:green;' href='http://wwww.zixue7.com'>自学去 [url]www.zixue7.com[/url]</a></p>\n", fw);
        fputs("<p style='color:red;'>以下为扫描结果,红色为存在</p>\n", fw);
        while(!feof(fr))
        {



                ch[0] = fgetc(fr);

                //如果不是换行,就继续获取,直到一行结束
                if(ch[0]!='\n')
                {
                        strcat_s(temp,ch);
                        continue;
                }

                memset(url, 0, 1000);
                strcat_s(url,host);
                strcat_s(url,temp);


                curl_easy_setopt(curl, CURLOPT_URL, url);

                curl_easy_setopt(curl, CURLOPT_WRITEDATA, fw);

                curl_easy_setopt(curl, CURLOPT_REFERER, url);

                curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 20000);

                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);

                curl_easy_setopt(curl, CURLOPT_HEADER, 1L);

                fputs("<a ", fw);
                setcolor(gray,black);
                res = curl_easy_perform(curl);

                if(res != CURLE_OK)
                {
                        fprintf(stderr, "curl_easy_perform() failed:%d\n", curl_easy_strerror(res));
                        break;
                }
                fputs(" href='http://", fw);
                fputs(url, fw);
                fputs("'>", fw);
                fputs(url, fw);
                fputs("</a><br />\n",fw);
                printf("\n%s",url);

                setcolor(white, black);

                //请空缓冲区
                memset(temp, 0, 1000);
        }

        curl_easy_cleanup(curl);
        fputs("<p style='font-size:24px;line-height:50px;color:red;'>黑阔交流论坛 <a target='_blank' style='font-size:24px;line-height:50px;color:blue;' href='http://wwww.zixue7.com'>自学去 [url]www.zixue7.com[/url]</a></p>\n", fw);

        fclose(fr);
        fclose(fw);
        return 0;
}

代码中用到的 concol.h 头文件在这里   http://www.itman1024.com/thread-3179-1-1.html
下面是编译好的程序以及整个工程目录打包:
mulusm.rar (34.84 KB, 下载次

转自:http://www.itman1024.com/thread-3178-1-1.html

代码中用到的 concol.h 头文件在这里   http://www.itman1024.com/thread-3179-1-1.html
下面是编译好的程序以及整个工程目录打包:
mulusm.rar (34.84 KB, 下载次

转载请注明:jinglingshu的博客 » 黑阔工具之网站目录扫描工具(带C语言源码)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 有点意思
    你猜11年前 (2014-11-29)回复
  2. It's about time soenome wrote about this.
    Lavinia8年前 (2017-03-31)回复