实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险!

  • 实验目的
  • 实验环境
  • 实验原理
    • 二次排序注入思路:
  • 实验步骤
    • 第一步 在kali平台上使用Firefox访问SQLI的less-24实验
    • 第二步 注册一个新账号
    • 第三步 以账号admin'#密码123456登录后修改密码
    • 第四步 以账号admin密码test登录成功
  • 思考与总结

实验目的

通过本实验理解SQL注入中二次注入漏洞引起的原因,如何利用漏洞进行二次注入。

实验环境

渗透平台:Kali

目标网站:SQLI平台

实验原理

二次排序注入也成为存储型的注入,就是将可能导致sql注入的字符先存入到数据库中,当再次调用这个恶意构造的字符时,就可以触发sql注入。

二次排序注入思路:

(1)黑客通过构造数据的形式,在浏览器或者其他软件中提交HTTP数据报文请求到服务端进行处理,提交的数据报文请求中可能包含了黑客构造的SQL语句或者命令。

(2)服务端应用程序会将黑客提交的数据信息进行存储,通常是保存在数据库中,保存的数据信息的主要作用是为应用程序执行其他功能提供原始输入数据并对客户端请求做出响应。

(3)黑客向服务端发送第二个与第一次不相同的请求数据信息。

(4)服务端接收到黑客提交的第二个请求信息后,为了处理该请求,服务端会查询数据库中已经存储的数据信息并处理,从而导致黑客在第一次请求中构造的SQL语句或者命令在服务端环境中执行。

(5)服务端返回执行的处理结果数据信息,黑客可以通过返回的结果数据信息判断二次注入漏洞利用是否成功。

源码中的漏洞

此例子中我们的步骤是注册一个admin’#的账号,接下来登录该帐号后进行修改密码。此时修改的就是admin的密码。

Sql语句变为UPDATE users SETpasswd=“New_Pass” WHERE username =’ admin’ # ’ AND password=’ ,也就是执行了UPDATE users SETpasswd=“New_Pass” WHERE username =’ admin’

(1)初始数据库为

注册admin’#账号(密码为123456)

如果此时查看后台数据库,此时的数据库中出现了admin’#的用户,同时admin的密码为111 登录admin’#,并修改密码

可以看到admin的密码已经修改为lcamry

实验步骤

第一步 在kali平台上使用Firefox访问SQLI的less-24实验

网站URL:

http://【靶机IP】/Less-24

第二步 注册一个新账号

点击登录框下方的“New User click here?”链接:

新注册账号名为admin’#密码为123456

第三步 以账号admin’#密码123456登录后修改密码

将密码由原来的123456修改为test

显示密码修改成功。

第四步 以账号admin密码test登录成功

思考与总结

通过本次实验,成功实现了利用源码中存在的二次注入漏洞,不使用admin的正确密码来绕过口令验证登录。

因此在编写代码时一定加强各种web漏洞的检测与防范,保证Web体系的安全。

【less-24】基于SQLI的二次注入相关推荐

  1. SQL注入之二次注入(sql-lab第24关)

    什么是二次注入 二次注入可以理解为,攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入.防御者可能在用户 输入恶意数据时对其中的特殊字符进行了转义处理,但在恶意数据插 ...

  2. 【less-11】基于SQLI的POST字符型SQL注入

    实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! 基于SQLI的POST字符型SQL注入 实验目的 实验环境 实验原理 实验步骤 第一步 判断是够存在POST型注入点 ...

  3. 二次注入 php,dedecms20140606 二次注入+存储型xss

    红色目录有exp,注入比较鸡肋 目录 dede/soft_edit.php, 存储型XSS漏洞        2 include /memberlogin.class.php 会员笔名二次注入    ...

  4. java二次开发浏览器内核_深入理解基于Selenium的二次开发

    对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是 为了易于维护,很多人可能不懂得维护的价值是什么,和到底 ...

  5. Vue+Vant 基于DatetimePicker进行二次开发,实现yyyyMMdd hh:mm:ss时间选择

    Vue+Vant 基于DatetimePicker进行二次开发,实现yyyyMMdd hh:mm:ss时间选择 1.效果图 2.前提 3.项目结构 4.index.vue 5.timeSelectio ...

  6. 基于Python的二维有限元声波方程正演计算

    基于Python的二维有限元声波方程正演计算 一.基础理论与相关公式的导出 什么是有限元方法? 有限元是计算复杂数学问题近似解的工具.当数学方程过于复杂,无法用正常的方法求解,并且一定程度的误差是可以 ...

  7. SQL 注入之二次注入

    目录 1.原理 二次注入的过程 2.实验过程 (1)查看初始 users 表 (2)注册用户 (3)修改用户密码 3.原因 具体代码 4.防御措施 1.原理 二次注入可以理解为,攻击者构造的恶意数据存 ...

  8. linux 正点原子ov5640_【正点原子FPGA连载】第二十六章基于OV5640的二值化实验-摘自【正点原子】领航者 ZYNQ 之嵌入式开发指南 (amobbs.com 阿莫电子论坛)...

    本帖最后由 正点原子 于 2020-10-26 16:21 编辑 QQ群头像.png (1.78 KB) 2020-10-24 10:50 上传5)关注正点原子公众号,获取最新资料 100846rel ...

  9. CANanlystII 基于python的二次开发实践

    前期,我已经编写过一篇<CANanlystII 基于linux的二次开发实践>这篇博客承接上一篇博客,所以背景知识和测试场景,就不再赘述. 背景知识和测试场景,可以查阅如下: CANanl ...

最新文章

  1. 【jdbc】兴唐第三十一节课之修改数据和查询数据(使用自己写的DBUtil)
  2. [Angularjs]ng-repeat中使用ng-model遇到的问题
  3. boost::hana::filter用法的测试程序
  4. Java接口中的成员变量为什么必须是public static final?
  5. 『教程』笔记本win7下自建Wifi热点–便于手机Wifi上网 (转 )
  6. 小米MIX Alpha获得百万美金技术大奖;索尼或将推出无边框手机;Linus 不建议用 ZFS | 极客头条...
  7. Select2 鼠标点击空白处不消失简单测试和解决方法
  8. triz矛盾矩阵_怎样利用项目TRIZ矛盾定义法,突破产品“创
  9. 计算机网络智能化在铁路通信的发展,浅谈新技术在铁路通信中的应用
  10. 商城后台管理系统Vue+Vue-Router+Element-UI+Axios+Echarts 黑马程序员视频笔记
  11. 【计算理论】计算复杂性 ( NP 完全问题 | NP 难 问题 P = NP 的情况 | NP 难 问题 P ≠ NP 的情况 )
  12. android代码让手机降温,手机降温神器下载 手机一键降温神器 for Android v1.0.1 安卓版 下载-脚本之家...
  13. 皖舒医疗告诉你医疗级制氧机具备哪些特性
  14. 使用阿里云云服务器一年多的感受
  15. “我转行做测试开发的这一年多,月薪5K变成了24K”,中文系萌妹的自白
  16. linux下wifi设备的实现逻辑
  17. SAP BDC 数据导入
  18. 数组练习题-java
  19. 机器学习——EM和GMM(基于李航老师的推导)
  20. Python中的GIL问题

热门文章

  1. Enterprise Libary 2 Hands-on-Lab 发布了
  2. 旅游规划(双权连通图)
  3. linux 查看进程启动路径
  4. C# .NET 使用DotNetZip开源类库 处理 压缩/解压 Zip 处理乱码情况
  5. 升序堆和降序堆(优先队列) 洛谷1801
  6. 15款值得开发者一试的最新的前端框架
  7. Freescale MC9S08AW60汇编学习笔记(三)
  8. (转)VC++多线程编程
  9. 一个表格,一部分允许编辑,有公式的单元格不允许编辑
  10. Redis入门之Redis安装、配置及常用指令