设为首页 - 加入收藏 - 网站地图 SecYe安全 Www.SecYe.Com - 国内网络信息安全IT技术门户网
当前位置:首页 > 网络安全 > Web安全 > 正文

构造ASP注入点

时间:2013-08-21 01:48 来源:未知 作者:www.secye.com 阅读:

为了测试WAF,要写一个ASP+MSSQL2005的注入点,自己又不会ASP,于是网上查到了这个文章,文章虽然很老,但是方法却是比较实用的。

首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去

 

 

<!--#include file="xx.asp"-->
<%
set rs=server.createobject("ADODB.recordset")
id = request("id")
strSQL = "select * from admin where id=" & id
rs.open strSQL,conn,1,3
rs.close
%>

 

把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!然后就要构造一个连接数据库的文件了,代码如下:

 

<%    
strSQLServerName = "000.000.000.000"   '服务器名称或地址
strSQLDBUserName = "sqlname"       '数据库帐号
strSQLDBPassword = "sqlpass"       '数据库密码
strSQLDBName = "sqldataname"       '数据库名称
Set conn = Server.CreateObject("ADODB.Connection")
strCon = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
conn.open strCon
%>

 

这里应该都会了;不过注意的是保存的文件名要和include调用的名字一样。正常情况下,就OK了,伪造成功……

可能由于测试环境的问题,我是ASP+MSSQL2005,所以访问的时候出错了,出错提示如下:

[DBNETLIB][ConnectionOpen(Invalid Instance())] 无效的连接

如果遇到了这样的问题,请把数据库ip后面加一个端口号即可,比如把strSQLServerName = "127.0.0.1"改为

strSQLServerName = "127.0.0.1,1433" 即可。

本文来源:SecYe安全网[http://www.secye.com] (责任编辑:SecYe安全)

点击复制链接 与好友分享!

顶一下
(0)
0%
踩一下
(0)
0%