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,本人觉得以后应该会陆续出现这样的漏洞,过滤不严从而达到文件头欺骗上传。
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
相关文章