实验目的
普及二阶注入的原理及发生的场景,了解二阶注入与普通注入的区别,熟悉二阶注入的方法和过程。

实验环境
攻击机:Pentest-Atk
(1)操作系统:Windows10
(2)安装的应用软件:sqlmap 、Burpsuite 、FireFox浏览器及其插件Hackbar 、 等

(3)登录账号密码:操作系统帐号Administrator,密码Sangfor!7890
靶机:A-SQLi-Labs
(1)操作系统:本机(建议用虚拟机)不过我太懒了[]~( ̄▽ ̄)~*
(2)安装的应用软件:Apache、MySQL(MariaDB)、PHP:DVWA、SQLi-Labs、

webug3.0环境搭建
(3)登录账号密码:操作系统帐号root,密码Sangfor!7890

实验原理

所谓二阶注入(又称存储型注入)是指已存储(数据库、文件)的用户输入被读取后再次进入到SQL查询语句中导致的注入。
二阶注入与普通注入的区别:
(1)普通SQL注入:发生在一个HTTP请求和响应中,对系统的攻击是立即执行的:1)攻击者在http请求中提交非法输入:2)应用程序处理非法输入,使用非法输入构造SQL语句:3)在攻击过程中向攻击者返回结果。
(2)二阶SQL注入:1)攻击者在http请求中提交某种经过构思的输入:2)应用程序存储该恶意输入(通常保存在数据库中)以便后面使用并响应请求:3)攻击者提交第二次(不同的)http请求:4)为处理第二次http请求,程序会检索存储在数据库中的恶意输入并进行处理,从而导致攻击者构造的SQL查询被执行:5)如果攻击成功,在第二次请求响应中向攻击者返回查询结果。

实验步骤
本实验的目标是:以SQLi-Labs网站的Less-24为入口,利用二阶注入的方式
将目标用户名admin的密码更改成指定的aabbcc。
1.访问SQLi-Labs网站
在攻击机Pentest-Atk打开FireFox浏览器,并访问粑机A-SQLi-Labs上的
SQLi-Labs网站Less-24。访问的URL为:

http://[机IP]/sqli-1abs/less-24/

2.注册新用户
在Less-24的初始页面点击右下方的“New...re?”(我网页自动翻译懒得关了)

在用户注册页面新建用户admin#,并设置其登录密码(123456)

新用户注册成功后将自动跳转至Less-24的初始页面。
3.利用新用户admin#登录并修改密码
利用刚刚注册的新用户admin'#登录

登录后出现可修改密码的认证界面,在此处将admin#的密码123456修改为
aabbcc,修改完成后点击Reset按钮确认

修改成功提示

4.用用户名admin、密码aabbcc尝试登录网站
(1)重新访问SQLi-Labs网站Less-24,访问的URL为

http://127.0.0.1/sqli-labs-master/Less-24/

此时admin#用户仍然处于登录状态,点击Logout按钮退出登录,会跳转至Less-24的初始页面。
(2)在Less-24的初始页面,利用用户名admin、密码aabbcc登录:

实验至此结束。

思考一下:为什么明明执行了修改 admin#用户密码的操作,实际上却是修改了admin用户的密码呢?

从原理上来看,修改 admin#的密码为 aabbcc时,此时后端数据库执行的命令

UPDATE users SET PASSWORD='aabbcc' where username='admin'#' andpassword='123456’;

#表示注释,上述语句即等价于:

UPDATE users SET PASSWORD='aabbcc where username= 'admin'

所以这条语句执行的最终效果是将用户 admin的密码修改为了 aabbcc

SOL注入——HTTP头部注入(2)(七)_Gjqhs的博客-CSDN博客

SOL注入——基干联合查询的POST注入(四)_Gjqhs的博客-CSDN博客

SQL注入 ——sql数据库操作基础(一)_Gjqhs的博客-CSDN博客

...

更多包括而不限于SQL注入的文章,关注我全部带走吧(≧∇≦)ノ

SQL注入-二阶注入(十)相关推荐

  1. SQL注入之——宽字节与二阶注入

    宽字节与二阶注入 宽字节注入 当我们把 php.ini 文件里面的 magic_quotes_gqc 参数设为 ON 时所有的'(单引号), "(双引号),\(反斜杠)和 null 字符都会 ...

  2. concat mysql sql注入_sql注入-mysql注入基础及常用注入语句

    最近在教学中,关于SQL注入,总发现学生理解起来有些难度,其实主要的原因是对各类数据库以及SQL语句不熟悉,今天先介绍mysql注入需要掌握的基础, Mysql内置information_schema ...

  3. php sql 二次注入,espcms 二次注入一枚

    Author:Yaseng 1:通过 $alias 二次注入来控制sql 用户昵称 $alias 从数据库查询出来 未过滤 interface/member.php [php] $db_sql = & ...

  4. SQL注入_1-6_user-agent注入

    SQL注入_1-6_user-agent注入 一.概念 User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本. ...

  5. sql注入查找注入点_基本的EJB参考,注入和查找

    sql注入查找注入点 在本系列的第一部分中 ,我们介绍了Enterprise JavaBeans v.3.0规范提供的机制,用于定义EJB组件,声明对EJB的引用并通过依赖项注入或程序化JNDI查找将 ...

  6. sql通用防注入程序php,sql通用防注入系统_PHP教程

    sql通用防注入系统 本文章提供这款防sql注入代码是一款php sql 双过滤非法字符的函数,他可以根据用户自定的防sql注入哦,先是过滤一些sql命令,再是就是把post get 过滤一次,最好验 ...

  7. sql 整改措施 注入_防止SQL注入的五种方法

    一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...

  8. 过滤SQL关键字 防注入

    /// <summary>/// 过滤SQL关键字 防注入/// </summary>/// <param name="sWord">来自用户输 ...

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

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

最新文章

  1. 使用Numpy实现PCA
  2. mysql和mongodb配合_MongoDB和Mysql怎样结合
  3. 关于手机的,发送验证码,正则
  4. c语言程序设计多数求最大值,C语言编程问题存在三个整数,使x²+y²+z²=625,求x+y+z的最大值。这是大一C语言实验书的习题,请不要用过于复杂的算法语句...
  5. 冒名顶替上大学罗彩霞_什么是冒名顶替综合症,您如何克服?
  6. linux下的yum命令详解
  7. gstreamer之RTSP Server一个进程提供多路不同视频
  8. web前端搭建相关文件夹结构
  9. 一个80年代大学生的悲壮职业人生
  10. too few variables specified 怎么解决
  11. 让你秒读懂阿里云数据库架构与选型
  12. hadoop学习之路(5)
  13. win10系统回收站清空了怎么恢复?简单几步找回丢失文件
  14. 字节员工收黑钱、操控抖音热榜,判刑了!
  15. 电气绘图软件EPLAN在WIN10详细安装教程
  16. 数学建模--数理统计
  17. 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示
  18. 开卷有益 今天你读书了么?
  19. learnpythonthehardway.org_Python学习笔记LearnPythonHardWay
  20. Excel中常用的函数

热门文章

  1. php 连接 mysql主从_php 连接主从数据库
  2. 大快人心,盗版串口芯片CH340的被判刑了,公司被罚400万!
  3. 谁说PCB布线不能走直角。。。
  4. 美国无人机在火星首飞成功,创造历史,3米飞行高度悬停30秒
  5. 文字抖动_如何用PS制作故障风文字效果
  6. java ftp commonsnet_用Java下载整个FTP目录(Apache Net Commons)
  7. matlab全下标方式取出,matlab习题
  8. ios 隔空投安装ipa_ipa文件是什么?怎么安装ipa文件到苹果手机上?
  9. 20000赫兹的声音试听下载_好听又不贵,DLC球顶双面镀铍动圈:七赫兹i99
  10. linux100day(day8)--shell监控脚本练习