网络安全 频道

bbsxp上传漏洞利用简单拿WebShell

分析一下漏洞的形成

if FileExt="asa" or FileExt="asp" or FileExt="cdx" 
or FileExt="cer" then error2("对不起,管理员设定本
论坛不允许上传 "FileExt" 格式的文件") 
''从上面的代码看出,过滤了asp,asa,cdx和cer的文件格式,这里我们就不传asp格式的文件,而是传aspx格式,所以前提条件要是
2003的windows服务器
if Sitesettings("WatermarkOption")="Persits.Jpeg"
 and FileMIME="image/pjpeg" and UpClass<>"Face" 
then 
Set Jpeg = Server.CreateObject("Persits.Jpeg") 
Jpeg.Open Server.MapPath(""SaveFile"") 
’判断用户文件中的危险操作 
’这里是检测对应图片图片格式的文件头,这里我们可以伪造。
sStr="getfolder|createfolder|deletefolder|createdirectory
|deletedirectory|saveas encode|function|UnEncode|execute|
重命名|修改|属性|新建|复制|服务器|下载" 
sNoString=split(sStr,"|")  
for i=0 to ubound(sNoString) 
if instr(sTextAll,sNoString(i)) then 
set filedel=server.CreateObject ("Scripting.FileSystemObje
ct") 
filedel.deletefile server.mappath(""SaveFile"") 
response.write "你的ip和时间已被纪录,由于你曾多次使用该方
法对系统进行非法攻击,我们将会把你的数据向海南省公安部及海
口网警报告!" 
response.write "<br>" 
response.write "时间:"date()" "time()"" 
response.write "<br>" 
response.write "I P:"request.servervariables("remote_add
r")" " 
set MyFiletemp=server.CreateObject("Scripting.FileSystemOb
ject") 
set wfile=myfiletemp.opentextfile(server.mappath("ypsql.t
xt"),8) 
wfile.writeline date()" "time()" "request.servervari
ables("remote_addr") 
Response.end 
end if

gif文件的结构 

取决于它属于哪一个版本,目前的两种版本分别是gif87a和gif89a,前者较简单。无论是哪个版本,它都以一个长13字节的文件头开始,文件头中包含判定此文件是gif文件的标记、版本号和其他的一些信息。如果这个文件只有一幅图象,文件头后紧跟一个全局色表来定义图象中的颜色。如果含有多幅图象(gif和tiff格式一样,允许在一个文件里编码多个图象),那么全局色表就被各个图象自带的局部色表所替代。

gif图片对应的文件头是gif87a和gif89a
上面的代码只是判断文件格式和文件头这些我们都可以绕过去的,
所以漏洞这样就形成了。

工具:bbsXp7.0漏洞利用工具

测试站点:qiuzhi.77k.cn

先注册一个用户,大家可以用利用工具,这里我就不用了。
“个人服务”-“上传头像”,对了忘记说了,漏洞出与upface.asp文件,也就是上传头像的文件

重新申请帐号好了,看来是有点流量的。传aspx文件,我已经加好文件头了,是gif的文件头

上传成功,对着头像-右键-属性

http://qiuzhi.77k.cn/UpFile/UpFace/474.aspx这个就是aspx马的地址了,访问下。好了,拿到WebShell了
题外话:这个漏洞算是比较严重了,和动易一样是前台拿WebShell,不需要得到管理员密码登陆后台再通过方法拿WebShell,本人觉得以后应该会陆续出现这样的漏洞,过滤不严从而达到文件头欺骗上传。
0
相关文章