CodeBreaking : https://code-breaking.com/ 在线正则表达式匹配 : https://regex101.com/ 根据已有的大佬们的 wp 对 code breaking 做的一个复现,很多内容都是第一次接触,对涉及到的知识点做些总结和拓展。 function create_function 注入 源码 <?php $action = $_GET
Team: W&M 前排广告位:W&M长期招逆向/二进制/密码学/杂项/web选手,尤其是二进制和密码学选手,有意向的大佬欢迎砸简历到ctf@whitecap100.org Web: boring_code 两个点 域名需要包含baidu.com 绕过正则和过滤将字符串传入eval中执行 第一个点 队友财大气粗直接买了个域名,成功绕过。 (缓缓打出一个? 第二个点 正则
一道很经典的 win pwn ,根据出题人的意思,该题是受WCTF的LazyFragmentationHeap启发而得来的。 源程序下载:https://github.com/Ex-Origin/ctf-writeups/tree/master/ogeekctf2019/pwn/babyheap 。 在这里先感谢出题人m4x和WCTF的一位大佬Angelboy的指点。 babyheap 源码:ht
0x01 前言 分享一下前天刚结束的N1CTF 2019的前两道pwn题,质量很好。主要考察tcache attack、fastbin attack以及IO_stdout泄漏,都是菜单堆的老套路,但构造堆布局需要点技巧。 题目下载: 链接:https://pan.baidu.com/s/1ucRPgD1_5-ucw6wK5oDMgg 密码:al7y 0x02 warmup 分析 保护全开 [*
访问/robots.txt,下载parse文件 拖到IDA里一看函数名,发现是GO语言的二进制文件 strings一下发现一些奇怪的字符串 /var/log/nginx/dot.access.log cat /tmp/test.txt | awk -F ' "' '{print $NF}' >> /tmp/data.txt ;echo '' > /tmp/test.txt
Web boring_code <?php function is_valid_url($url) { if (filter_var($url, FILTER_VALIDATE_URL)) { if (preg_match('/data:\/\//i', $url)) { return false; } retu
前言 题目源码https://github.com/Nu1LCTF/n1ctf-2019 准备了好久的N1CTF终于结束了,师傅们都在很用心的出题和运维,然而还是出了不少事故,希望大佬们体谅一下orz! 膜@wonderkun师傅的非预期链(感觉大佬们都不想做我这道题,可能出的太烂了。) 这道题出题思路来自于TSec 2019 议题 PPT:Comprehensive analysis of th
做这道题的时候还不知道黑帽大会的那个技巧,用了另一种方法做出来了,算是另一种思路,献丑和师傅们分享一下。 这里贴一下代码: from flask import Flask, Blueprint, request, Response, escape ,render_template from urllib.parse import urlsplit, urlunsplit, unquote fro
最近做了 ph 牛的 code-breaking,在做 picklecode 这一题时,没有搞懂那个 django 的 signed_cookies 引擎对 session 的操作,就 debug 了一下,做个总结,算是做了个代码审计吧 0x01 获取 session_auth_hash 题目 : https://github.com/phith0n/code-breaking/tree/ma
0x01 前言 printf是TokyoWesterns CTF 2019一道格式化漏洞利用题,有意思的是,题目给的二进制程序自己实现了一个printf函数。一般,在调用完main函数以后,程序call __libc_start_main,继续调用exit退出。若能够覆盖exit中的函数指针,便可在程序退出的时候劫持程序控制流。 0x02 加载libc 题目给了3个文件,除了常规的libc还额外给
0x01 前言 前几天的TokyoWesterns CTF 2019里遇到一道realloc利用的pwn题,比较有意思,这里分享一下解题思路。 题目下载: 链接:https://pan.baidu.com/s/18GQV--52KzWau2AYN99xIA 密码:hbmc 0x02 分析 保护全开 [*] '/pwn/asterisk_alloc' Arch: amd64-64-
1. pwn堆入门系列教程3 序言:这次终于过了off-by-one来到了Chunk Extend / Overlapping,这部分在上一节也进行了学习,所以难度相对来说不会是那么大,刚起初我以为,因为第一题很简单,但做到第二题,我发觉我连格式化字符串的漏洞都不会利用,真的是太菜了,后面看了看雪大佬的文章才会做 1.1. HITCON Trainging lab13 这道题还是相对简单的,对于前
堆入门系列教程1 序言:第二题,研究了两天,其中有小猪师傅,m4x师傅,萝卜师傅等各个师傅指点我,这次又踩了几个坑,相信以后不会再犯,第二题感觉比第一题复杂许多,不是off-by-one的问题,是这种攻击方式的问题,这种攻击方式十分精妙,chunk overlap,堆块重叠,这种攻击方式我也是第一次见,复现起来难度也是有滴 off-by-one第二题 此题也是off-by-one里的一道题目,让我
前言 前段时间打的SUCTF2019中有一个题目叫Pythongin思路大概来源于黑帽大会 https://i.blackhat.com/USA-19/Thursday/us-19-Birch-HostSplit-Exploitable-Antipatterns-In-Unicode-Normalization.pdf 不怎么明白漏洞的原理,就准备复现一下,在复现的过程中出现了很多坑,来记录一下。
首先我们先谈谈 php各个版本的的差异 php5.2以前 __autoload()加载类文件,但只能调用一次这个函数,所以可以用spl_autoload_register()加载类关于 autoload()函数,如果定义了该函数,该代码就会被调用 关于spl_autoload_register()函数:注册给定的函数作为 autoload 的实现 当出现未定义的类时,标准PHP库会按照注册的倒序