sql-注入总结(上)


字符串截取函数

left(str,index)//从左边第index开始截取
right(str,index) //从右边第index开始截取
substring(str,index)//从左边index开始截取
substr(str,index,len)//截取str,index开始,截取len的长度
mid(str,index,ken)//截取str 从index开始,截取len的长度(mysql特有)
locate()//返回一个字符串在另一个字符串中第一次出现的位置,可尝试配合上面的字符串截取函数在读取文件时用
mysql> select locate(username,'lshackadminsec') from admin limit 0,1;

字符串截取函数,在报错注入,盲注中经常使用到,例如mid函数。
正常用法mid(str,pos,len)功能是从str字符串中从pos开始,截取len长度的字字符串。
而mid(from(1)),这里的from(1)表示的是从1这个位置开始截取剩下的字符串.

mysql> select mid('abc'from(3));
+-------------------+
| mid('abc'from(3)) |
+-------------------+
| c                 |
+-------------------+

for(1)表示从改位置起一次就截取一个字符,示例如下:

mysql> select mid('abc'from(1)for(1));
+-------------------------+
| mid('abc'from(1)for(1)) |
+-------------------------+
| a                       |
+-------------------------+
1 row in set (0.04 sec)

字符串比较函数

strcmp(expr1,expr2) //如果两个字符串是一样则返回0,如果第一个小于第二个则返回-1
find_in_set(str,strlist) //如果相同则返回1不同则返回0

字符串连接函数

concat(str1,str2) //将字符串首尾相连
concat_ws(separator,str1,str2) //将字符串用指定连接符连接
group_concat()//利用分组的方式连接所有字符串,通俗点儿讲,其实就是把某个字段下的所有数据全部连接成一个字符串,注意有长度限制,默认1024

tips:在使用字符串拼接函数时,尽量使用拼接符号进行拼接,便于后续读取数据。
例如:group_concat( distinct(要连接的字段)order by (排序字段) asc/desc separator (分隔符) )

mysql中一些基础函数

当前数据库名

database()
schema()

数据库用户名

USER()
CURRENT_USER()
SYSTEM_USER()
SESSION_USER()

数据库版本

VERSION()
@@VERSION
@@GLOBAL.VERSION

路径相关函数

@@BASEDIR : mysql安装路径
@@SLAVE_LOAD_TMPDIR : 临时文件夹路径
@@DATADIR : 数据存储路径
@@CHARACTER_SETS_DIR : 字符集设置文件路径
@@LOG_ERROR : 错误日志文件路径
@@PID_FILE : pid-file文件路径
@@BASEDIR : mysql安装路径
@@SLAVE_LOAD_TMPDIR : 临时文件夹路径

注释符号

# 
/**/   /*/**/这样是等效于/**/
-- + 用这个符号注意是--空格任意字符很多人搞混了
;%00
`
/*!*/  /*!/*!*/是等效于/*!*/的

操作符号

:=
||, OR, XOR
&&, AND
NOT
BETWEEN, CASE, WHEN, THEN, ELSE
=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
|
&
<<, >>
-, +
*, /, DIV, %, MOD
^
- (一元减号), ~ (一元比特反转)
!
BINARY, COLLATE

比较运算符

=
>
<
!=
<> 不等于的意思
like (模糊匹配 select '12345' like '12%' => true)
in(select '123' in ('12') => false)
between (select database() between 0x61 and 0x7a;//select database() between 'a' and 'z';)
regexp / rlike(正则匹配select '123455' regexp '^12' => true)

逻辑运算符

not / !
and / &&
or / ||
xor / ^

位运算符

& 按位与
| 按位或
^ 按位异或
! 取反
<< 左移
>>右移

延时函数

sleep()
benchmark(1000000,sha(1))

编码函数

hex()
ascii()

文件操作函数

load_file() //读文件路径可以用0x,char转换的字符
outfile select * into outfile '/tmp/test.txt'
dumpfile //用法同上但是只能写入一行数据,常用于udf提权写dll

类型转换

1=1
1='1'
1="1"
1=true
1=1+'a'
1=1+"a"
1=0+true

information_schema

information_schema这这个数据库中保存了MySQL服务器所有数据库的信息。 如数据库名,数据库的表,表栏的数据类型与访问权限等。

表名 列名 内容
schemata schema_name 所有数据库的名字
tables table_name 所有数据库的表的名字
tables table_schema 所有数据库的名字
columns table_schema 所有数据库的名字
columns table_name 所有数据库的表的名字
columns column_name 所有数据库的表的列的名字

查看当前数据库的表名

select table_name from information_schema.tables where table_schema=database()limit 0,1;

查看字段名

select column_name from information_schema.columns where table_name='user' and table_schema=database() limit 0,1;

查数据

select 字段名 from 表名;

mysql中的空白字符

%20 %09 %0a %0b %0c %0d %a0 /**/ tab
%a0 这个不会被php的\s进行匹配
/*!*/ 内敛注释 #这个也可以用来做分隔
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容