MySQL

mysql基础知识

注入点检测

页面返回正常

and 1=1--+
or 1=2--+

页面返回异常

and 1=2--+
or 1=1--+

判断注入类型

数字型注入
字符型注入


POST: POST 方式提交数据,注入点位置在 POST 数据部分,常发生在表单中
GET:提交方式是 GET , 注入点的位置在 GET 参数部分
Cookie:HTTP 请求的时候会带上客户端的 Cookie, 注入点存在 Cookie 当中的某个字段中

HTTP 头:注入点在 HTTP 请求头部的某个字段中。比如存在 User-Agent 字段中

靶机pikachu

将压缩包解压在C:\phpstudy_pro\WWW目录下

进入pikachu文件夹的inc目录,修改靶场配置文件config.inc.php,设置数据库账号密码均为root

将文件config.inc.php重命名为config.php

在浏览器中打开进行初始化

基本函数

version():查询数据库版本
user():查询数据库使用者
database():数据库
system_user():系统用户名
session_user():连接数据库的用户名
current_user():当前用户名
load_file():读取本地文件
@@datadir:读取数据库路径
@@basedir:mysql安装
@@version_complie_os:查看操作系统
ascii(str):返回给定字符的ascii值,如果str是空字符串,返回0;如果str是NULL,返回NULL。
如ascii("a")=97
length(str):返回给定字符串的长度如 length("string")=6
substr(string,start,length):对于给定字符串string,从start位开始截取,截取长度为length,
如 substr("chinese",3,2)="in",也可以substr(string from start for length)
substr()、strstring()、mid()三个函数的用法功能一致
concat(username):将查询到的username连在一起,默认使用逗号分隔
concat(str1,'*',str2):将字符串str1和str2的数据查询到一起,中间用*连接
group_concat(username)

sql注入

1:注入条件

1:用户可以控制数据的输入

2:运行的代码拼接了用户的输入并运行

2:注入攻击

Union注入

进行注入点判断

POST :id=1’ and 1=1–+ 显示正常存在注入点

order by 3 不存在 order by 2 有回显

union select 1,2–+

union select 1,user();–+

Burp suit

安装BP

Target(目标)——显示目标目录结构的的一个功能
Proxy(代理)——拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
Spider(蜘蛛)——应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
Scanner(扫描器)——高级工具,执行后,它能自动地发现web 应用程序的安全漏洞。
Intruder(入侵)——一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
Repeater(中继器)——一个靠手动操作来触发单独的HTTP 请求,并分析应用程序响应的工具。
Sequencer(会话)——用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
Decoder(解码器)——进行手动执行或对应用程序数据者智能解码编码的工具。
Comparer(对比)——通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
Extender(扩展)——可以让你加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suit的功能。
Options(设置)——对Burp Suite的一些设置

GOOGLE 手动安装代理

安装拓展程序Proxy SwitchyOmega监听127.0.0.1 8080端口(本机)

截取请求

burp suit

点击代理选择127.0.0.1 8080

截断请求抓包获取信息发送给重发器

修改信息进行注入