正在阅读:

构造ASP注入点

9,217

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

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

SQL注入

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

参考文章:

http://blog.163.com/hack_xk/blog/static/169017572201071024930292/

目前有:1条访客评论,博主回复1

  1. seven
    2015-10-15 18:37

    为什么我的我的没有回显啊 打开一片空白

留下脚印,证明你来过。

*

*

流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌