构造ASP注入点(asp+sqlserver2005)

CracerCracer 2015-10-15 代码审计 1,048 0 7

自从有了这个asp+sqlserver 2005的输入点,练习起来方便多了哈

代码1:

<!--#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是表名!这个文件名随便保存!然后就要构造一个连接数据库的文件了名字为xx.asp,代码如下:

<%    
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" 即可。

 

 

 

转载请注明来自Cracer,本文标题:《构造ASP注入点(asp+sqlserver2005)》

喜欢 (7) 发布评论
发表评论


Top