【网络攻防技术】实验八——SQL注入实验
文章目录
- 一、实验题目
- 二、实验步骤及结果
- Task 1: Get Familiar with SQL Statements
- Task 2: SQL Injection Attack on SELECT Statement
- Task 2.1: SQL Injection Attack from webpage.
- Task 2.2: SQL Injection Attack from command line.
- Task 2.3: Append a new SQL statement.
- Task 3: SQL Injection Attack on UPDATE Statement
- Task 3.1: Modify your own salary.
- Task 3.2: Modify other people’ salary.
- Task 3.3: Modify other people’ password.
- Task 4: Countermeasure — Prepared Statement
一、实验题目
SQL注入是一种代码注入技术,它利用web应用程序和数据库服务器之间接口中的漏洞。当用户的输入在发送到后端数据库服务器之前未在web应用程序中正确检查时,就会出现此漏洞。许多web应用程序从用户处获取输入,然后使用这些输入构造SQL查询,这样web应用程序就可以从数据库中获取信息。Web应用程序还使用SQL查询在数据库中存储信息。这些是web应用程序开发中的常见做法。如果未仔细构造SQL查询,则可能会出现SQL注入漏洞。SQL注入攻击是对web应用程序最常见的攻击之一。
在本实验室中,我们创建了一个易受SQL注入攻击的web应用程序。我们的web应用程序包含许多web开发人员所犯的常见错误。学生的目标是找到利用SQL注入漏洞的方法,演示攻击可能造成的损害,并掌握有助于抵御此类攻击的技术。
二、实验步骤及结果
Task 1: Get Familiar with SQL Statements
① 进入容器内部,首先查看自己的mysql环境id:docker ps
然后根据id进入容器内部
② 使用基本的SQL语句
在docker容器中连接localhost数据库
Task 2: SQL Injection Attack on SELECT Statement
Task 2.1: SQL Injection Attack from webpage.
① 查看登录接口unsafe_home.php源码可知
② 其中SQL语句,直接对用户传参进行拼接,那么完全可以自己合拼单引号,如下
Task 2.2: SQL Injection Attack from command line.
① 将符号进行转译,以及注释符添加
② 访问
Task 2.3: Append a new SQL statement.
① 尝试将boby的工资置零:Admin’;update credential set salary=0 where Name=“Boby”;#
② 没有成功
Task 3: SQL Injection Attack on UPDATE Statement
Task 3.1: Modify your own salary.
① 随便选取一个注入点 110’,Salary='30001
② 修改成功
Task 3.2: Modify other people’ salary.
① 使用where语句匹配 110’, Salary=0 where ID=2#
② 查看boby工资
Task 3.3: Modify other people’ password.
① 在网站上使用的是SHA1加密后的结果,所以如果需要修改密码,应该输入加密后的结果:6e294573225d3cb28b540104260d888a7c9b4cc7
② ',Password=‘6e294573225d3cb28b540104260d888a7c9b4cc7’ WHERE ID=2;#
③ 用新密码登录,登陆成功
Task 4: Countermeasure — Prepared Statement
① 修改 unsafe.php,做如下改动
② 可以看到攻击失败
【网络攻防技术】实验八——SQL注入实验相关推荐
- 2017-2018-2 20179216 《网络攻防与实践》 SQL注入攻击
1. SQL语言 结构化查询语言(Structured Query Language)简称SQL:是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...
- 2017-2018网络攻防技术第八周作业
课本第八章总结 1.Linux操作系统发展与现状 在统一内核代码库的基础上,Linux开源社区根据不同用户群体的需求,也发展出数量众多的操作系统发行版,流行的包括Ubuntu.Debian.Fedor ...
- 网络攻防技术——黑客攻防
前言 一.SQL注入 二.XSS 攻击 1.反射型 2.存储型 三.CSRF 攻击 四.DDoS 攻击 五.DNS劫持 六.JSON 劫持 七.暴力破解 总结 提示:文章同样适用于非专业的朋友们,全文 ...
- 20155201 网络攻防技术 实验六 信息搜集与漏洞
20155201 网络攻防技术 实验六 信息搜集与漏洞 一.实践内容 各种搜索技巧的应用 DNS IP注册信息的查询 基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 漏洞扫描: ...
- 网络攻防技术-Lab5-shellcode编写实验(SEED Labs – Shellcode Development Lab)
网络攻防技术实验,实验环境.实验说明.实验代码见 Shellcode Development Lab Task 1: Writing Shellcode a: The Entire Process 1 ...
- SEED实验系列:Collabtive系统SQL注入实验
本课程原文链接为:https://www.shiyanlou.com/courses/291,实验楼已经为此课程的实践提供了在线实验环境,想要尝试体验的,可以直接前往实验楼进行实践操作. 你能够喜欢我 ...
- 搭建sql注入实验环境(基于windows)
搭建服务器环境 1.下载xampp包 地址:http://www.apachefriends.org/zh_cn/xampp.html 很多人觉得安装服务器是件不容易的事,特别是要想添加MySql, ...
- 2017-2018-2 20179205 《网络攻防技术与实践》第八周作业
<网络攻防技术与实践>第八周学习总结 教材第八章<Linux操作系统安全攻防>学习总结 本章通过介绍Linux的结构和安全机制,引出了对Linux系统的攻击过程,包括首先从远程 ...
- 数据库 实验八 SQL 的服务器端编程
目录 实验八 SQL 的服务器端编程 一.实验目的 二.实验准备及任务 三.实验内容及记录 (1)第1题 (2)第2题 (3)第3题 (4)第4题 (5)第5题 (6)第6题 实验八 SQL 的服务器 ...
- 2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描
2018-2019-2 20165315<网络攻防技术>Exp6 信息搜集与漏洞扫描 目录 一.实验内容 二.实验步骤 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫 ...
最新文章
- gcore java_获取一直FullGC下的java进程HeapDump的小技巧
- 开源阅读书源_安卓开源无广告追书神器阅读App
- SAP PM 入门系列6 - PM常用表
- python判断素数的函数_Python素数prime函数练习_Python源码实操
- 如何“正确”为SharePoint字段命名
- 外链对网站SEO优化起什么作用?
- SQL------Hint
- 运维工程师绩效考核表_IT运维存在问题及改进
- 【BZOJ - 3436】小K的农场(差分约束)
- BZOJ4068 : [Ctsc2015]app
- 做一个项目,平时都用到哪些工具提高效率(上)【转】
- OpenGL ES 加载3D模型
- WPF 4 动态覆盖图标(Dynamic Overlay Icon)
- html form urlencode,form-data和x-www-form-urlencode的区别
- MacOS下搭建Fabric开发环境
- ubuntu 中安装 Redis
- 图书排行:计算机书籍每周销量排行榜
- 轻松搞明白:软切换和硬切换的区别
- 时间序列度量算法之SBD
- 英特尔核显驱动hd630_英特尔首款独显Xe Max 评测出炉:低于移动端 GTX 1050 Ti