Sql注入基本知识

前言

拿着 SQLmap 一把梭,结果就是实战中常常被 ban ip.

奈何还没搞定自己的 ip 代理池... ...

所以手工注入还是要掌握的

这里只是列出了知识点,没有详尽举例

接下来的关于MySql注入学习笔记中,都会用到

需要了解的知识、工具

  • 理解基本的 HTTP 协议

  • 能看懂 HTML

  • PHP 等后端常用语言

  • MySQL 数据库的结构,存在于主机的位置

  • MySQL 的查询语句基本语法

  • Burpsuit、HackBar 等工具的使用

    前面三点,需要花时间积累,一点点去学习,我也在摸索中DX.


MySql 数据库

① MySql 的数据库放在哪里?

下图是我自己的理解

记住这个图,对写SQL查询语句有帮助

我的理解.jpg

② 数据库的结构

结构.jpg

③ 需要记住的一个库,三个表(重要!)

这是在 MySql 5.0 及以后版本中存在的,一个存放了所有信息的地方的数据库(假定为上图的库一)

库名 表一名称 表二名称 表三名称
information_schema schemata tables columns
  • 表一:SCHEMA_NAME字段中,存放了所有数据库的库名

  • 表二:TABLE_SCHEMA、TABLE_NAME两个字段,分别存放了所有数据库名、表名

  • 表三:TABLE_SCHEMA,、TABLE_NAME、COLUMMNS_NAME三个字段,分别存放了数据库名、表名、以及表中的字段名

④ MySql 注释符号

  • #
  • --
  • /*! */

对于字符型注入,注释符必不可少。

⑤ MySql 查询语句

语句的构建,要根据页面的异常回显位置拼凑。

 SELECT 要查询的字段名 FROM 库名.表名
 SELECT 要查询的字段名 FROM 库名.表名 where 已知条件的字段名=‘已知条件的值’ limit 0,1

limit 0,1表示,从第一条记录开始,取一条记录,也就是取一行

因为一张表,往往存放了许多行的信息

有时候,网站显示信息的位置有限,只能显示几行信息

limit 就能发挥大作用

⑥ MySql注入常用函数

Ⅰ. 普通函数

database() 返回当前页面内容,使用的数据库名称

user() 返回当前访问数据库的用户名,身份

version() 返回当前数据库的版本

char() 转换 ASCII 数值

Ⅱ. 全局函数

@@hostname 获取主机名

@@datadir 获取 Mysql 的安装路径

@@version_compile_os 获取主机的系统信息

使用举例,假如确认当前页面,有三个位置显示信息

SELECT database(),user(),version() 
SELECT @@hostname,database(),@@version_compile_os

还有很多,以后补充。

工具

HackBar

Chrome, firefox浏览器中插件商店下载安装,f12开启。

HackBar.png

我用的Chrome,插件商店里面有三个,我用的第一个

功能比较全面,支持post、cookie等注入姿势。

BurpSuit

必备神器,不多说啦

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MSSQL 跨库查询(臭要饭的!黑夜) 榨干MS SQL最后一滴血 SQL语句参考及记录集对象详解 关于SQL S...
    碧海生曲阅读 5,672评论 0 1
  • Sql注入定义: 就是通过把sql命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行...
    付出从未后悔阅读 713评论 0 3
  • 什么是SQL数据库: SQL是Structured Query Language(结构化查询语言)的缩写。SQL是...
    西贝巴巴阅读 1,856评论 0 10
  • 一、数据库简介 1.数据库系统 1.1数据库 DataBase【DB】,指的是长期保存到计算机上的数据,按照一定顺...
    郑元吉阅读 613评论 0 6
  • 情绪教养决定孩子的智力 情绪是第一生产力 从学校出来进入职场转眼已有10年, 日复...
    Stone回忆录阅读 241评论 0 0