文章目录
测试环境为MACOS,数据库版本为8.0.20
测试环境为MACOS,数据库版本为8.0.20
1.信息搜集类
system_user() 系统用户名
user() 用户名
current_user() 当前用户名
database() 数据库名
version() 数据库版本
@@datadir 数据库路径
@@basedir 数据库安装路径
@@version_compile_os 操作系统
substr() 返回一个字符串的一部分
count() 返回执行结果数量
concat() 没有分隔符地连接字符串
concat_ws() 有分隔符地连接字符串
group_concat() 连接一个组的所有字符串,并以逗号分隔每一条数据
load_file() 读取本地文件
报错需要设置 --secure-file-priv属性 ,这里在windows演示
secure-file-priv特性
secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。
ure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
解决方法:
windows下:修改my.ini 在[mysqld]内加入secure_file_priv =
linux下:修改my.cnf 在[mysqld]内加入secure_file_priv =
MYSQL新特性secure_file_priv对读写文件的影响
然后重启mysql,再查询secure_file_priv
相关问题参考:https://blog.csdn.net/qq_43504939/article/details/89207806
into outfile 写文件
ascii() 字符串最左边字符的 ASCII 码值
ord() 返回字符串第一个字符的 ASCII 码值
mid() 返回一个字符串的一部分
length() 返回字符串的长度
2.字符数学方法操作
left()
返回字符串的最左面的几个字符
char()
返回整数 ASCII 代码字符组成的字符串
exp()
返回 e 的 x 次方,报错注入用得多。很多大于5.6用不了
当传递一个大于709的值时,函数exp()就会引起一个溢出错误。
更多参考:https://netsecurity.51cto.com/art/201508/489529.htm
rand()
返回 0 和 1 之间的一个随机数
3.延时注入常用
sleep()
让此语句运行 N 秒钟,延时注入用得比较多
if()
条件判断,如果1=1,就延时2秒,否则就立刻返回结果。
4.报错注入常用
floor()
返回小于或等于 x 的最大整数,向下取整。
extractvalue()
#第一个参数:XML_document 是 String 格式,为 XML 文档对象的名称,文中为 Doc 第二个参数:XPath_String (Xpath 格式的字符串) 作用:从目标 XML 中返回包含所查询值的字符串
updatexml()
报错出来我们的students表
updatexml()
第一个参数:XML_document 是 String 格式,为 XML 文档对象的名称,文中为 Doc 第二个参数:XPath_String (Xpath 格式的字符串) 第三个参数:new_value,String 格式,替换查找到的符合条件的数据作用:改变文档中符合条件的节点的值
更多参考:https://xz.aliyun.com/t/7318