SUCTF的部分web题

0x00

大佬在群里分享的一次外校的招新ctf赛,没什么经验,第一次个人参加,做出了几题,虽然挺开心的。但是还是有挺多题目做不出来。(萌新瑟瑟发抖...)

0x01

include me

题目给的提示是index,但是打开以后的界面是这样的



结合题目,猜测是通过include函数去包含不同的php文件,这时想到通过php伪协议去读取index页面的源码
构造payload:

php://filter/read=convert.base64-encode/resource=index.php

通过burp抓包以后修改请求得到了返回了一段base64的字符串.



解码以后得到了index.php的源码:

<?php
if(isset($_GET["lang"])){  
    $lang=$_GET["lang"];  
}else{  
    $lang="cn.php";  
}  
?> 
<form>  
<select style="width:60px;" name="lang">  
<option value="cn.php"<?php echo $lang=="cn.php"?"selected":"";?>>Chinese</option>  
<option value="en.php"<?php echo $lang=="en.php"?"selected":"";?>>English</option>
<option value="kr.php"<?php echo $lang=="kr.php"?"selected":"";?>>
Korean</option>
<option value="jp.php"<?php echo $lang=="jp.php"?"selected":"";?>>Japanese</option>
<option value="de.php"<?php echo $lang=="de.php"?"selected":"";?>>German</option>
<option value="fr.php"<?php echo $lang=="fr.php"?"selected":"";?>>French</option>
<input type="submit" value="change language">  
</form> 
<?php
$flag="SUCTF{ha_ha_ha_you_win}";
    include $lang;
?>

一下就看到flag了。这道题也是相对简单的,考察的是关于文件包含漏洞的相关知识,而php有一些内置协议file://、php://、 data://等等可以做到更多的事情。

onepiece


作为海贼迷,我也相信onepiece是真的存在的,所以刚看到题目的时候我就想着一定要做出来,结果到最后都没做出来, o(╥﹏╥)o



题目提示用了phpstorm,然后搜索了一下发现在phpstrom下面建项目是会建立.idea这个目录的,所以直接输入目录看到了下面的3个文件,一个个点开终于在第三个文件中发现了东西。



仔细看了整个文件发现了这个项目还有另外的3个页面,然后呢第一个UpL0ad.php页面一开始不停上传一句话木马都没反应就放弃了

后来打开了README.html,看到了接下来的提示

根据提示,把onepiece.zip文件下载下来后得到一个php文件

<?php 
if (!defined("BEBCEFCCAC")){define("BEBCEFCCAC", __FILE__);global $?$垟,$剶?$崒憢,$湊灋?$€搰殎?$帨櫀煍?$挐焾啌帥,$棞垑噭殕?$妵槗仜寫梾,$垨洊墭晸焾?$泙瀮媶墕崕挅,$唴檪搳殮搼晧?$?帊墤墛弽棖槦,$剢憸帢晳媭媴敐?$煓墴垬垰仈姁寔垕;function 暊($暊,$垟?""){global $?$垟,$剶?$崒憢,$湊灋?$€搰殎?$帨櫀煍?$....

打开这个php看到一串的乱码,整个人都傻了,后来查到这是经过了php混淆加密以后的文件,接下来就是去找解密的方法,一开始找到某个大佬的解密方法(http://sec2hack.com/web/phpjiami-decode.html),但是自己跟着弄了几次都不行就放弃了....看来onepiece是看不到了。后来比赛方放出writeup的时候


跟着用了上面的解密网站一下就解密了文件...想当时我用其他网站解密的时候各种问题,而且还要收费,虽然我没花钱...

classic sql


这题一开始弄到手也不知道怎么做,因为发现黑名单过滤了很多常用的字符串,于是就一直搜,搜到了一题基本一样的题目(https://github.com/hongriSec/PHP-Audit-Labs/blob/master/PHP-Audit-Labs%E9%A2%98%E8%A7%A3/Day13-16/files/README.md),是红日安全-代码审计小组的一道题目。
这题的思路是

详细的解释就是:

通过\去转义user的一个单引号,使得user的值变成了

\' and pwd =

然后后面

||

实际上就是or的意思
另外REGEXP函数也有一些语法规则可以匹配特定的字符串,可自行搜索了解

xss1


这道题是关于xss的,根据js脚本可以看到只要输入alert就会被替换,那要做的就是把alert用其他方法表示出来。官方的writeup是根据jsfuck来做的,而我不是:



将alert字符串通过parseInt方法转成一个整数,然后把这个整数再通过toString方法转回alert,这样payload就是

eval((8680439).toString(30))(1)

就没有alert这个字符串.但是这题还有一点要注意的是我们输入的字符串被两个双引号包围了,如果直接输入payload也不能实现弹窗




在控制台可以看到字符串被包围了,那这时就需要逃脱双引号,我们可以使用

" + "

前后两个双引号分别闭合原先代码中的双引号,这时payload就变成了

"+eval((8660439).toString(30))(1)+"

php is No.1


这题主要是关于php的弱等于的知识.



这是官方的writeup,这里说的is_numeric我还真不知道,不过我是用科学计数的表示去做的,
我的payload是:

time=3.888e6 & num=0e1

首先这两个都是整数能通过is_numeric函数,这时进入到最里面的if-elseif-else语句,而要让通过计算可以得到3.888*10^6是介于题目要求的两个数之间,然后php中把一个变量强制转换成int的时候,遇到字母就会截断,例如

$ a = '123a.0123'  
$ b = (int) $a ; //实际上b会等于123

那么这时我们大概等待4s就可以得到flag了。

0x10

这次实际上没做出什么题目,但是挺开心,毕竟开始能看懂和自己弄懂一些题目了。另外这次比赛还有几题比较难的,还没有复现成功,鉴于题目要关掉了,还没时间做,暂时就弄到这里吧。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容