|
eweb2.7版本以下又一个注入
首先看代码(ewebeditor.asp):
ub InitPara()
' 取全屏标志
sFullScreen = Trim(Request.QueryString("fullscreen"))
' 取对应的内容ID
sContentID = Trim(Request.QueryString("id"))
If sContentID = "" Then ShowErr "请传入调用参数ID,即隐藏的内容表单项ID!"
' 取样式初始值
sStyleName = Trim(Request.QueryString("style"))
If sStyleName = "" Then sStyleName = "standard"
sSql = "select * from ewebeditor_style where s_name='" & sStyleName & "'"
oRs.Open sSql, oConn, 0, 1
If Not oRs.Eof Then
sStyleID = oRs("S_ID")
sStyleName = oRs("S_Name")
sStyleDir = oRs("S_Dir")
sStyleCSS = oRs("S_CSS")
sStyleUploadDir = oRs("S_UploadDir")
nStateFlag = oRs("S_StateFlag")
sDetectFromWord = oRs("S_DetectFromWord")
sInitMode = oRs("S_InitMode")
sBaseUrl = oRs("S_BaseUrl")
sStyleUploadDir = Replace(sStyleUploadDir, "\", "/")
If Right(sStyleUploadDir, 1) <> "/" Then
sStyleUploadDir = sStyleUploadDir & "/"
End If
Else
ShowErr "无效的样式Style参数传入,如果要使用默认值,请留空!"
End If
oRs.Close
关键的是这两句:
sStyleName = Trim(Request.QueryString("style"))
If sStyleName = "" Then sStyleName = "standard"
sSql = "select * from ewebeditor_style where s_name='" & sStyleName & "'"
很明显的是style参数没有足够的过滤,如果我们自己给这个地方赋值的话,程序会报错的,如图1.
但接下来的一句还是让我们有可乘之机,If sStyleName = "" Then sStyleName = "standard"保留默认的还是会带入语句执行,加个单引号就报错了,如图2.
我试了好几款工具,发现只有pangolin可以注入,啊D只能发现注入不能继续猜解。
eweb默认的管理员表是:ewebeditor_system
这个表下的默认两个列名为:sys_UserName和sys_userpass
需要手动添加 |
|