渗透测试 day1
web网站 部署在容器上,这个容器部署在操作系统上,操作系统中安装了数据库软件。通过对数据库的操作实现一定功能。
sqli-labs 开源的sql注入练习环境(https://github.com/Audi-1/sqli-labs)
报错注入
盲注
update注入
insert注入
header注入
二阶注入
绕过waf
mysql常用语句:https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html
mysql注入常用函数
system_user() 系统用户名
user() 用户名
current_user() 当前用户名
session_user() 连接数据库的用户名
database() 数据库名
version() 数据库版本
@@datadir 数据库路径
@@basedir 数据库安装路径
@@version_compile_os 操作系统
count() 返回执行结果数量
concat() 没有分隔符的连接字符串
concat_ws() 含有分隔符的连接字符串
group_concat() 连接一个组所有的字符串,并以逗号分隔每一条数据
load_file() 读取本地文件
into outfile 写文件
ascii() 字符串的ASCII码值
ord() 返回字符串第一个字符的ASCII码值
mid() 返回一个字符串的一部分
select mid('abc',1,2); //返回字符串从第一个开始,共返回两个字符串
substr() 返回一个字符串的一部分
length() 返回字符串的长度
left() 返回字符串最左边的几个字符
select left('abc',2); //返回从左数前2个字符
floor() 返回小与或等于x的最大整数
select floor(5.9); //返回小数点前面的数字(没有四舍五入)
rand() 返回0-1之间的随机数
sleep() 让语句睡眠n秒钟再执行
if() select if(1>2,2,3); 如果条件式成立,返回2,不成立返回3
char() 返回整数ascii代码字符组成的字符串
strcmp() 比较字符串内容
ifnull() 假如参数1不为null,则返回值为参数1,否则返回参数2
exp() 返回e的x次方