代理攻击模拟

我有一个WS2008 x64服​​务器,它的80端口上有NodeJS应用程序。 服务器不断接收来自不同IP地址的试图将我的应用程序用作代理的查询。 NodeJS(使用Express模块​​)正在回复404错误,但在会话初始化期间(使用Everyauth模块)失败。

所以,我把这个问题分为两部分:

  1. 我需要find如何模拟攻击者的请求的方式;

  2. 找出为什么这些请求是以一种错误的方式处理的(这个我会问在另一个论坛)

以下是攻击者的一个典型要求:

GET http://www.baidu.com/ HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) Content-Type: application/x-www-form-urlencoded Accept: */* Referer: http://www.baidu.com/ Host: www.baidu.com Accept-Encoding: gzip, deflate Proxy-Connection: Keep-Alive 

我试图用cURL重新创build它(用主机中的服务器的IP地址replacewww.baidu.com)

 curl -H "Host: www.baidu.com" -H "Referer: http://www.baidu.com" -H "Accept-Encoding: gzip, deflate" -H "Proxy-Connection: keep-alive" -H "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" -H "Content-Type: application/x-www-form-urlencoded" -v -X GET http://www.baidu.com/ 

,但它被处理为

 GET / HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) Content-Type: application/x-www-form-urlencoded Accept: */* Referer: http://www.baidu.com Host: www.baidu.com Accept-Encoding: gzip, deflate Proxy-Connection: Keep-Alive 

所以,我的问题是 – 我怎么把http://www.baidu.com而不是/(SLASH)在GET请求?

所以,我的问题是 – 我怎么把http://www.baidu.com而不是/(SLASH)在GET请求?

你想要的请求不是一个坏的,而只是一个代理请求。 要创build它,只需将您的目标主机指定为代理。 除此之外,curl可能不是产生真正坏请求的正确工具。