把学习到的 sql 注入的一点知识记录下来
更改默认的 sqlmap 脱库保存的路径 --output-dir F:\
Substr(字符串,起始位置,字符数) (
初始为
1
不是
0)
这里有示例
https://www.1keydata.com/cn/sql/sql-substring.php
通常配合 ascii 函数判断出字符的值 ascii(substr((select database()),1,1))) > 100
二分法(又叫折半法)可以减少猜测的量
Length() 判断长度
AND (length(database())) = order by
ORDER BY 语句用于根据指定的列对结果集进行排序.
ORDER BY 语句默认按照升序对记录进行排序.
如果您希望按照降序对记录进行排序,可以使用 DESC
http://www.w3school.com.cn/sql/sql_orderby.asp
Limit(mysql)
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.LIMIT 接受一个或两个数字参数.参数必须是一个整数常量.如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目.初始记录行的偏移量是 0(而不是 1)
mysql 下 limit 注入 http://blog.csdn.net/cherrie007/article/details/76167822
Group_concat
语法:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator'分隔符'])
http://blog.csdn.net/ys410900345/article/details/44828571 看例子比较详细
https://bbs.pediy.com/thread-218235.htm 这个是攻击实例
mysql 注释符号
mysql:#(#),-- (-- )【后面有个空格】,/**/
常用 SQL 注入字符
1
字符串运算符
'or'
2
多行注释/*...*/
3
加号,连接(在 URL 中等同于空格)+
4
单行注释#或 --
5
双管道(连接)||
6
通配符
%
7
局部变量@
8
全局变量@@
9
时延字符串替代数字或数字替代字符串
waitfor delay '00:00:10'
10
一些常用函数
union 联合查询
Variable/function Output
user() Current User
database() Current Database
version() Database Version
schema() Current Database
UUID() System UUID Key
current_user() Current User
system_user() Current System User
session_user() Session User
@@hostname Current Hostname
@@tmpdir Temporary Directory
@@datadir Data Directory
@@version Version of Database
@@basedir Base Directory
@@GLOBAL.have_symlink Check if symlink is Enabled or Disabled
@@GLOBAL.have_ssl Check if it SSL is available
union 需要前后的两个 sql 语句的选择列数要相同才可以
Union all 与 union 的区别是增加了去重的功能
两个 sql 语句进行联合操作时,当前一个语句选择的内容为空,我们这里就将后面的语句的内容显示出来
来源: http://www.bubuko.com/infodetail-2455666.html