0x00 前言 周末做了一下De1CTF,由于第一次接触哈希长度拓展攻击,所以对此题进行了一次详细的分析,如果有理解不正确的地方,还请各位师傅们指正。 0x01 题目源码 F12即可将源码复制出来进行分析,源码如下: #! /usr/bin/env python #encoding=utf-8 from flask import Flask from flask import request im
一个两字节patch导致的off-by-one,最终造成类型混淆,执行shellcode。 编译了一个d8程序用于验证和利用漏洞,相关附件下载 CheckBound优化流程 首先在原有的simplified-lowering阶段,CheckBound节点并不被消除,而是设置为kAbortOnOutOfBounds模式,并替换为CheckedUint32Bounds。 void VisitCheck
一、摘要 从一道简单fast_bin利用题,分析当前fast_bin attack的本质思想就是通过一系列的绕过check与伪造fast_bin freed chunk fd指针内容获得(malloc)一块指向目标内存的指针引用,如got表、__malloc_hook、__free_hook等引用,即可对其原来的函数指针进行改写,如改写为 __free_hook 为某处one_gadget地址,
这是我们队伍第一次打进全国大学生信息安全竞赛(国赛)的决赛,每个队伍要求出一道题目作为Build it环节的提交。由于这次没有把解出题目的队伍数目纳入评分标准,于是决定放开手脚搞搞新意思,用两天多点的时间出了这题。决赛的时候我们自然不会抽到自己的题目。只是看到单刷的pizza大佬凭借一题Pwn2在第一天排到第二名,心中有种预感,这Pwn2不会就是我出的这题吧?果然,赛后交流发现全场只有pizza能
全国网安竞赛web09另一个exp 前言 这道题因为非预期的日志文件,直接给出了payload,但是由于我自己没看到,自己找了好久好久,2333,发现自己的POP链和出题师傅的点有点不太一样,故发出来分享下自己的POP链挖掘思路 题目代码 public function index(\Illuminate\Http\Request $request){ $payload=$requ
0x00 前言 AWD是第二天的比赛,三轮共三套题,总体下来感觉肾不够用了,午饭吃了一半就继续肝。第二天的比赛最后拿到第四名。 0x01 第一轮:jeecms 源码:链接:https://pan.baidu.com/s/1IniLYhTSn7116Dp9hVSJoA 提取码:qfhx jsp,上来就是个shell执行 但是先不急,D盾扫一扫 一共四个马,前两个马一样的,于是使用世界上最好的语言
论菜鸡pwn手如何在无网环境(ps:类似国赛)下生存 引言:在打完一次无网环境后,觉得没网环境实在难受,查个libc都没得查。。没准备好,那时碰巧我下了ctf-challenge,在那里碰巧弄到了libc,可能有人喜欢用libc-searcher那个py版本的项目,我不怎么喜欢,用那个导入库查找感觉较慢,还是喜欢手动泄露后到网页查找,于是有了这篇文章 pwntools安装 pip install
题目基本分析 题目给了以下文件: dist/ dist/server.py dist/Collection.cpython-36m-x86_64-linux-gnu.so dist/test.py dist/python3.6 dist/libc-2.27.so 正如我们所知,server.py可以接收用户输入的python脚本语言。除此之外,它还可以获取flag并使用dup2将文件描述符复制到
前言 在上一节中我们分析了栈指针平衡和花指令,它们往往会在中等难度的二进制题目中出现。接下来分析一下另外的两种常用反静态分析的方法,还是和往常一样,我们会用真实的CTF赛题来剖析其原理,希望大家可以真真实实地自己动手操作起来。 第三节 SMC自解码 什么是SMC? SMC(Self-Modifying Code)(自解码),可以在一段代码执行前对它进行修改。常常利用这个特性,把代码以加密的形式
在 ISITDTU CTF 2019 上做了一道比较有意思的代码审计题,主要应用了 php 异或等操作进行 getshell,收获还是挺多的。最近越来越喜欢看这种代码简单,但是又蕴含玄机的东西了... Description Don't try to run any Linux command, just use all the PHP functions you know to get
赛博杯2019 Write Up 前言 杭电赛博协会出得题,感觉质量还是不错的,难易兼备。以下是此次比赛的Write Up。 MISC Sign in 扫条形码得到flag。 No Word snow加密,将文件放入010editor看他的十六进制形式, 0D0A是换行,剩下的将20转0,将09转1,得到的二进制数据,转字符串即可得到flag。 基础社工 题目介绍:大家都用着我们的数字杭电(i
打开程序:有几秒的弹窗动画 主程序: 查看help: 大意是:你的任务是禁止开始动画,找到硬编码序列和注册机名称/序列号。这个级别为了确保你理解如何使用工具并且破解程序,这是三个很简单的保护测试。 祝你好运,技术更上一层楼。 先找到硬编码序列。随便填,点“check hardcoded” 弹出失败对话框。 可以考虑MessageBoxA下手和获取文本的地方下手,这里从获取文本的地方下手。
0x01 littlenote 保护全开的堆利用程序,有add、show、delete功能,delete模块有UAF漏洞。 add: 只能申请size为0x71或0x31的堆块 show: 显示堆块内容 delete: 存在UAF 攻击思路: 1.利用UAF,删除堆块,再读取数据,泄漏heap地址 2.再次利用UAF漏洞,将fd指针篡改到某堆块中间,就能继续输入数据改写下一个相邻chunk的
小白第一次写文章,还请各位大佬多多指教 0x1 知识点 先来看一下这道题需要的知识点 数组可以绕过strlen的长度限制 $a=$_GET['a']; var_dump($a); $c=strlen($a); var_dump($c); ?> 当反序列化到足够的长度时,后面的数据会被扔掉 <?php $a=$_GET['a']; $result=unserialize($a);
2019年的Positive Hack Days包括有史以来第一次IDS Bypass比赛。 参与者必须研究五个主机的网段,然后利用服务漏洞或满足特定标准(例如发送某个HTTP响应)以获得flag。 找到漏洞很容易,但是IDS会让参与者和主机之间的连接变得复杂,检查每个网络数据包。 当签名阻止连接时,通过屏幕通知参与者。 以下是有关任务的详细信息以及解决这些问题的方法。 100.64.0.11