SQL注入用户通过浏览器或者其他客户端将恶意SQL语句插入到网站参数中,网站应用程序未经过过滤,将恶意SQL语句带入数据库进行执行,通过数据库获取了敏感的信息或者执行了其他恶意操作。

由于SQL语句本身多样性,以及可用于构造的SQL语句编码方法很多,因此凡是构造SQL语句没有过滤均灿在被潜在攻击的风险。

Havij:简称:胡萝卜,支持多种数据库扫描,

PHPCMS网站,是指采用PHP5+MYSQL做为技术基础进行开发的网站。

本次实验:靶机:172.23.188.5

一、检测网站是否存在SQL注入漏洞,

SQL注入漏洞产生需要满足两个条件:

  1. 参数用户可控:前端传给后端的参数是用户可以控制的,
  2. 参数带入数据库查询:带入的参数拼接到SQL语句,并且带入数据查询

(1)、看URL中是否有“?”

进入靶机的一页网站,查看网页的URL为http://127.23.188.5:8083/show.php?id=33

通过观察URL存在“?”问号,在URL中“?”之后是参数,是用户端传送给服务器的参数,格式是:变量名=值,满足SQL注入漏洞产生的第一个条件

(2)、接下来,在后面加上“and 1=1”测试

“and” 是在后面增加一条和之前并列的逻辑关系

“1=1”是逻辑语句,1肯定是等于1的,条件为真,所以整条语句是TRUE,如图所示,在URL后面加入“and 1=1”之后,网页无变化

(3)、在后面加上“and 1=2”测试

因为1是不等于2的,导致整个语句是Fasle,所以导致页面无内容显示,如图

经过(2)、(3)测试,我们在URl上输入的数据,可以带入到数据库中执行,所有满足第二点

接下来,开始SQL注入

二、在Havij上进行SQL注入

(1)、输入网址和调制参数,对网站进行分析

Database:数据库的类型,选择自动检测

Method:选择GET方法

Type:SQL注入的方式,分为两种,数字型和字符型,这里选择自动检测。

填写完整,之后点击“Analyze”进行分析

(2)、点击info查看,分析结果

从结果中,我们知道这个网址是PHP语言开发,使用MySQL数据库

(3)点击Tables,得到数据库,选择数据库,点击“Get Tables”获得表

(4)选择user表,点击“Get Columns”获得表中的字段

(5)选择“password”和“username“字段,点击“Get Date”获取字段的内容

(6)使用www.cmd5.com网站对密码进行破解MD5码破解,

(7)获得的账号和密码,进行登录

黑客学习-SQL注入:利用Havij对PHPCMS网站进行SQL注入相关推荐

  1. php反射机制与依赖注入,利用反射机制实现基本的依赖注入

    ReflectionClass实现了 Reflector 接口,使得我们可以使用该类查看另一个类的相关信息.所谓的反射,大概的意思就是将一个类的相关信息给反射 (映射.反映) 出来,转载. 无依赖的情 ...

  2. java asm jndi_GitHub - Q1ngShan/JNDI: JNDI 注入利用工具

    JNDI 注入利用工具 介绍 本项目为 JNDI 注入利用工具,生成 JNDI 连接并启动后端相关服务,可用于 Fastjson.Jackson 等相关漏洞的验证. 本项目是基于 welk1n 的 J ...

  3. java asm jndi_JNDI 注入利用工具

    JNDI 注入利用工具 介绍 本项目为 JNDI 注入利用工具,生成 JNDI 连接并启动后端相关服务,可用于 Fastjson.Jackson 等相关漏洞的验证. 本项目是基于 welk1n 的 J ...

  4. 基于PHPCMS的SQL注入(Havij)

    本教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险. 目录 实验目的 实验环境 实验原理 实验步骤 第一步靶机操作 第二步渗透主机操作 实验总结 实验目的 通过本实验理解SQL注入基本 ...

  5. 黑客学习-SQL注入(字符型):Hackbar获取网站账号和密码

    SQL注入用户通过浏览器或者其他客户端将恶意SQL语句插入到网站参数中,网站应用程序未经过过滤,将恶意SQL语句带入数据库进行执行,通过数据库获取了敏感的信息或者执行了其他恶意操作. 由于SQL语句本 ...

  6. sql注入利用_SQL注入:这是什么? 原因和利用

    sql注入利用 摘要 (Summary) Many security vulnerabilities are discovered, patched, and go away forever. Som ...

  7. 玩转JDBC打造数据库操作万能工具类JDBCUtil,加入了高效的数据库连接池,利用了参数绑定有效防止SQL注入

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53750584 本文出自[DylanAndroid的博客] 玩转JDBC打造数据 ...

  8. SpringCloud学习(六)----- Gatewayw网关完善(防止SQL注入)

    SpringCloud版本:2021.0.1     SpringBoot版本:2.6.3 系列文章 SpringCloud学习(一)----- Eureka搭建 SpringCloud学习(二)-- ...

  9. 学习sql注入:猜测数据库_面向数据科学家SQL:学习简单方法

    学习sql注入:猜测数据库 We don't pick a hammer and look for nails - that would be an unusual way of solving pr ...

最新文章

  1. php字符串定义为arraylist,如何把arraylist集合中的字符串数据保存的文本文件中
  2. 请注意Tokyo Tyrant (ttserver)在大数据量下的不稳定
  3. DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu)
  4. ArrayList LinkedList与HashMap 实现原理
  5. java程序中没有错,但是项目上面显示一个红叉的解决办法
  6. Angular form 官网文档的学习笔记:Angular两种实现form的方式
  7. GitHub在线开发工具上线,是时候卸载IDE了
  8. Kubernetes—常用命令总结(二)
  9. 新加入一个团体,如何能尽快的展开测试工作(转载)
  10. 201621123015《Java程序设计》第11周学习总结
  11. 原来理解 AOP 可以这么简单
  12. RPG游戏开发基础教程
  13. RFID射频识别系统简述
  14. linux qt 生成word报告_Qt 生成word、pdf文档
  15. javascript飞机大战
  16. java pointer_Java Pointer.pointerToCString方法代码示例
  17. nas 软件 性能测试,NAS性能测试器(NAS performance tester)
  18. 多张图片怎么同时修改dpi?教你一键批量修改图片dpi
  19. 这些大文件传输工具总结,建议外贸人士收藏
  20. vue项目如何区分开发、生产和测试环境

热门文章

  1. Elasticsearch 7.10 之 Indexing pressure
  2. integrate函数python_python – Sympy:integrate()奇怪的输出
  3. 8.认识robots.txt到爬取信息
  4. 11个值得珍藏的4K高清壁纸网站推荐
  5. Mac上的PowerPoint保存时出现“连同字体保存”——“某些字体无法随演示文稿一起保存。仍然要保存演示文稿吗?”
  6. UE4 二维地图的缩放与拖拽操作
  7. ardupilot 中关键坐标系
  8. 《HelloGitHub》第 74 期
  9. Tapestry(二):Tapestry基本知识
  10. 8_21_2013_Problem B: SUME_太水