文章目录

  • 一、实验题目
  • 二、实验步骤及结果
    • 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注入实验相关推荐

  1. 2017-2018-2 20179216 《网络攻防与实践》 SQL注入攻击

    1. SQL语言 结构化查询语言(Structured Query Language)简称SQL:是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...

  2. 2017-2018网络攻防技术第八周作业

    课本第八章总结 1.Linux操作系统发展与现状 在统一内核代码库的基础上,Linux开源社区根据不同用户群体的需求,也发展出数量众多的操作系统发行版,流行的包括Ubuntu.Debian.Fedor ...

  3. 网络攻防技术——黑客攻防

    前言 一.SQL注入 二.XSS 攻击 1.反射型 2.存储型 三.CSRF 攻击 四.DDoS 攻击 五.DNS劫持 六.JSON 劫持 七.暴力破解 总结 提示:文章同样适用于非专业的朋友们,全文 ...

  4. 20155201 网络攻防技术 实验六 信息搜集与漏洞

    20155201 网络攻防技术 实验六 信息搜集与漏洞 一.实践内容 各种搜索技巧的应用 DNS IP注册信息的查询 基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 漏洞扫描: ...

  5. 网络攻防技术-Lab5-shellcode编写实验(SEED Labs – Shellcode Development Lab)

    网络攻防技术实验,实验环境.实验说明.实验代码见 Shellcode Development Lab Task 1: Writing Shellcode a: The Entire Process 1 ...

  6. SEED实验系列:Collabtive系统SQL注入实验

    本课程原文链接为:https://www.shiyanlou.com/courses/291,实验楼已经为此课程的实践提供了在线实验环境,想要尝试体验的,可以直接前往实验楼进行实践操作. 你能够喜欢我 ...

  7. 搭建sql注入实验环境(基于windows)

    搭建服务器环境 1.下载xampp包 地址:http://www.apachefriends.org/zh_cn/xampp.html 很多人觉得安装服务器是件不容易的事,特别是要想添加MySql, ...

  8. 2017-2018-2 20179205 《网络攻防技术与实践》第八周作业

    <网络攻防技术与实践>第八周学习总结 教材第八章<Linux操作系统安全攻防>学习总结 本章通过介绍Linux的结构和安全机制,引出了对Linux系统的攻击过程,包括首先从远程 ...

  9. 数据库 实验八 SQL 的服务器端编程

    目录 实验八 SQL 的服务器端编程 一.实验目的 二.实验准备及任务 三.实验内容及记录 (1)第1题 (2)第2题 (3)第3题 (4)第4题 (5)第5题 (6)第6题 实验八 SQL 的服务器 ...

  10. 2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165315<网络攻防技术>Exp6 信息搜集与漏洞扫描 目录 一.实验内容 二.实验步骤 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫 ...

最新文章

  1. gcore java_获取一直FullGC下的java进程HeapDump的小技巧
  2. 开源阅读书源_安卓开源无广告追书神器阅读App
  3. SAP PM 入门系列6 - PM常用表
  4. python判断素数的函数_Python素数prime函数练习_Python源码实操
  5. 如何“正确”为SharePoint字段命名
  6. 外链对网站SEO优化起什么作用?
  7. SQL------Hint
  8. 运维工程师绩效考核表_IT运维存在问题及改进
  9. 【BZOJ - 3436】小K的农场(差分约束)
  10. BZOJ4068 : [Ctsc2015]app
  11. 做一个项目,平时都用到哪些工具提高效率(上)【转】
  12. OpenGL ES 加载3D模型
  13. WPF 4 动态覆盖图标(Dynamic Overlay Icon)
  14. html form urlencode,form-data和x-www-form-urlencode的区别
  15. MacOS下搭建Fabric开发环境
  16. ubuntu 中安装 Redis
  17. 图书排行:计算机书籍每周销量排行榜
  18. 轻松搞明白:软切换和硬切换的区别
  19. 时间序列度量算法之SBD
  20. 英特尔核显驱动hd630_英特尔首款独显Xe Max 评测出炉:低于移动端 GTX 1050 Ti

热门文章

  1. python簇状柱形图_think-cell chart系列13——簇状堆积柱形图
  2. natapp 使用教程
  3. 1080 MOOC期终成绩
  4. 马哥linux脚本,马哥linux shell笔记
  5. linux sd卡 测试软件,怎么检测SD卡内存卡是否被扩容过?
  6. 控制系统--系统结构图
  7. 企业信息化规划与设计
  8. 计算机网络第七版谢希仁课后答案第二章(部分答案)
  9. SPSS可信度数据分析
  10. 都可以看懂的JS轮播图(全代码注释)