当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-087595

漏洞标题:E-learning在线学习平台cookie#SQL注入

相关厂商:cncert国家互联网应急中心

漏洞作者: xy0er

提交时间:2014-12-18 18:07

修复时间:2015-03-18 18:08

公开时间:2015-03-18 18:08

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-12-18: 细节已通知厂商并且等待厂商处理中
2014-12-23: 厂商已经确认,细节仅向厂商公开
2014-12-26: 细节向第三方安全合作伙伴开放
2015-02-16: 细节向核心白帽子及相关领域专家公开
2015-02-26: 细节向普通白帽子公开
2015-03-08: 细节向实习白帽子公开
2015-03-18: 细节向公众公开

简要描述:

RT

详细说明:

有人提交过漏洞,看前面两位前辈。
WooYun: 某通用在线学习平台SQL注入
WooYun: 某通用在线学习平台一处SQL注入
关键词:inurl:e-learning/index.asp
文件:\e-learning\ShowNews.asp

id=request("id")
Set rsnews=Server.CreateObject("ADODB.RecordSet")
sql="Update News set Hits=Hits+1 where id="&cstr(request("id"))
conn.execute sql
sql="Select * From News Where id="&id
rsnews.Open sql,conn,1,1
Title=rsnews("Title")
BigClassName=rsnews("BigClassName")
SmallClassName=rsnews("SmallClassName")


文件:\inc\Check_Sql.asp

'----- 对 get query 值 的过滤.
if request.QueryString<>"" then
Chk_badword=split(Query_Badword,"∥")
FOR EACH Query_Name IN Request.QueryString
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i))<>0 Then
Select Case Err_Message
Case "1"
Response.Write "<Script Language=JavaScript>alert('传参错误!参数 "&name&" 的值中包含非法字符串!\n\n请不要在参数中出现:and update delete ; insert mid master 等非法字符!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert('传参错误!参数 "&name&"的值中包含非法字符串!\n\n请不要在参数中出现:and update delete ; insert mid master 等非法字符!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
End if
'-----对 post 表 单值的过滤.
if request.form<>"" then
Chk_badword=split(Form_Badword,"∥")
FOR EACH name IN Request.Form
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.form(name)),Chk_badword(i))<>0 Then
Select Case Err_Message
Case "1"
Response.Write "<Script Language=JavaScript>alert('出错了!表单 "&name&" 的值中包含非法字符串!\n\n请不要在表单中出现: % & * # ( ) 等非法字符!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert('出错了!参数 "&name&"的值中包含非法字符串!\n\n请不要在表单中出现: % & * # ( ) 等非法字符!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
end if


看看过滤代码,简直坑爹啊,只过滤了get、post。

漏洞证明:

相关案例:http://xitong.mingjuan.net/e-learning/index.asp
http://www.mdjiaoyu.com/e-learning/shownews.asp?id=1520
http://www.xuejiedu.com/e-learning/index.asp
http://www.xgnjiaoyu.com/e-learning/index.asp
http://www.mdjiaoyu.com/e-learning/index.asp
http://www.wanhuaedu.com/E-learning/index.asp
http://www.bajianedu.org/E-learning/index.asp
http://haerbinjiajiao.com/e-learning/index.asp
http://jiajiao.xuezikeji.com/e-learning/index.asp
http://www.juntop.com/E-learning/index.asp


2014-12-17_214846.png


2014-12-17_215054.png

修复方案:

相关案例有些升级了,但是很多站点还是存在问题的。

版权声明:转载请注明来源 xy0er@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:17

确认时间:2014-12-23 08:43

厂商回复:

CNVD确认并复现所述情况,暂未建立与软件生产厂商的直接处置渠道,还正在积极联系,待认领和处置。

最新状态:

暂无