护网杯一道crypto】的更多相关文章

import os def xor(a,b): assert len(a)==len(b) c="" for i in range(len(a)): c+=chr(ord(a[i])^ord(b[i])) return c def f(x,k): return xor(xor(x,k),7) def round(M,K): L=M[0:27] R=M[27:54] new_l=R new_r=xor(xor(R,L),K)#先将前27和后的27异或 然后将得到的27 位再跟k异或 re…
护网杯预选赛 WP转载自:https://qingchenldl.github.io/2018/10/13/%E6%8A%A4%E7%BD%91%E6%9D%AFWP-BitPwn/#more WEB easy tornado 打开链接是几个文件的列表,分别打开,关注url和内容 http://49.4.79.198:31809/file?filename=Orz.txt&signature=0434ba1fadd43ce31661c315fbb8a9c6 Orz.txt render() ht…
题目名称:baby_forensic题目描述:can you catch the flag?附件:“data.7z” 2019护网杯初赛的一道取证题,比赛时没做出来,赛后又研究了一下. 获取profile的类型,因为不同的系统数据结构不一样,所以需要用--profile=来指定. 这里自动猜解可能的系统类型,一般情况下第一个是正确的,如果不对每个都试一下. volatility -f /root/data.vmem imageinfo 列出所有的进程 volatility -f /root/da…
[护网杯 2018]easy_tornado 1.看看题目给了我们三个文件: /flag.txt url=?filename=/flag.txt&filehash=98c6aac4fbecf1b8604767afad2b65ef 告诉flag在/fllllllllllllag里面. 把fliename替换后报错: /welcome.txt url=?filename=/welcome.txt&filehash=b974cea7b45f12a2d446e8e7843ce2fb 题目是torn…
简介 原题复现:  考察知识点:模板注入  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 [护网杯 2018]easy_tornado 打开页面发现三个链接依次打开  发现各自的文本 flag in /fllllllllllllag render md5(cookie_secret+md5(filename)) 从上面三个信息我们的值flag在/fllllllllllllag文件 render这个卡住了看了WP…
护网 又是签到 一天 这道题一开始 不懂得如何泄露 libc 信息,就蒙了  后来群里师傅也是刚刚好 做出 到这里 我就接着做了 . 先看下保护,发现  全开了 然后 就看下流程 大概 就是添加  chunk  show  合并两个chunk 可利用的 洞就是 int merge() { int v1; // ST1C_4 signed int i; // [rsp+8h] [rbp-18h] int index1; // [rsp+Ch] [rbp-14h] int index2; // [r…
复现一道关于tornado的题目 首先可以得知此题用的是tornado,基于python的后端框架,多半是ssti注入 有三个文件,首先可得知flag在何处 然后观察hint和url就知道要根据cookie_secret来伪造请求,所以现在就只要找cookie--seceret url出错后会跳到此界面,发现注入点. 首先了解下tornado的相关知识 自己上手写下 了解下粗略的过程,tornado会用tornado.web.Application来构造实例,而其中参数handlers传入了正则…
前言 相关题目位于 https://gitee.com/hac425/blog_data/tree/master/hwb task_shoppingCart 漏洞位于 00BD9 用户输入 idx 然后根据索引找到表项( T ), 然后取 T 开头的 8 字节作为指针,先打印内容,然后修改. 通过漏洞,加上上图那种逻辑结构我们就可以查看并修改 data 的数据. 这个题的关键工作就是构造上图的结构. 开始以为和之前的一场比赛的题一样,程序中会有一个地方存着指向 got 表的指针 https://…
1.题目源码 https://github.com/ZhangAiQiang/three-hit 题目并不真的是当时源码,是我根据做法自己写的,虽然代码烂,但是还好能达到复现的目的 ,兄弟们star一下就是最大的鼓励啊. 2.is_numeric()漏洞 is_numeric()检查是否是数字字符串,同时也可以是十六进制. 比如 is_numeric(1) true is_numeric('a') false is_numeric('2a') false is_numeric(0xabcedf)…
题目docker环境: https://github.com/sco4x0/huwangbei2018_easy_laravel git clone下来直接composer up -d 运行即可,可以把端口映射改为8080:80 使用 docker exec -it 容器name bash就可以交互式地进入容器进行操作 开始做题: 首先F12查看源码发现源代码路径: 但是现在复现的时候已经关闭了,从github上题目源码中直接把源码拷过来吧. 遇到有composer.json的题目,首先comp…
首先进入网页后,观察到有sign up 点击sign up 进行注册 再点击sign in 进行登录 进入一个买辣条的界面,可以知道,5元可以买一包大辣条,多包大辣条可以换一包辣条之王,多包辣条之王可以换Flag 进入info查看余额,发现,至多可以买4包大辣条,不满足辣条之王的兑换 尝试条件竞争打开burpsuit点击大辣条的购买窗口,抓取数据 发送到Intruder,点击Positions,点击clear 点击Payloads 这里算是纠结了一下,最后想到利用条件竞争,试验发现一个账户的两个…
考点:SSTI注入 原理: tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且还可以通过{{}}进行传递变量和执行简单的表达式. 网上看到的例子: #!/usr/bin/env python # -*- coding:utf-8 -*- from tornado.web import UIModule from tornado import escape class cust…
前言 题目环境 buuoj 上的复现,和原版的题目不是完全一样.原题使用的是 nginx + mysql 而 buuoj 上的是 apache + sqlite composer 这是在 PHP5.3 以上的一个依赖管理工具.感觉和 docker 很像,docker-compose 根据 docker-compose.yml 中配置的服务和镜像,生成虚拟机.PHP 中的 composer 则是根据 composer.json 加载配置的 php package 配置更新源,Composer 镜像…
1.打开之后给出了三个连接,分别查看下三个连接内得信息,结果如下: 2.url中参数包含一个文件名与一串应该是md5得加密的字符串,文件名已经获得了,就需要获取加密得字符串,但是加密字符串时需要使用到cookie_secret.搜索下tornado render信息,显示是找到模板进行渲染,因此就想到了ssti注入. 3.开始思考获取cookie_secret,未在三个页面中发现存在可利用得地方,然后就只能开始目录扫描,发现了error页面,就想到了修改前面正常的参数,然后看下报错界面,发现了错…
easy tornado 题目分析 这是一道2018年护网杯的题目 /flag.txt /welcome.txt /hints.txt 一共有3个文件. /flag.txt flag in /fllllllllllllag /welcome.txt render /hints.txt md5(cookie_secret+md5(filename)) 进入第一个文件flag.txt,发现好像提示文件名为/fllllllllllag, 进入第二个文件welcome.txt,发现提示为render,r…
i春秋作家:lem0n 原文来自:浅谈内存取证 0x00 前言 网络攻击内存化和网络犯罪隐遁化,使部分关键数字证据只存在于物理内存或暂存于页面交换文件中,这使得传统的基于文件系统的计算机取证不能有效应对.内存取证作为传统文件系统取证的重要补充,是计算机取证科学的重要组成部分,通过全面获取内存数据.详尽分析内存数据,并在此基础上提取与网络攻击或网络犯罪相关的数字证据,近年来,内存取证已赢得安全社区的持续关注,获得了长足的发展与广泛应用,在网络应急响应和网络犯罪调查中发挥着不可替代的作用.首先回顾了…
前言 phar 是 php 支持的一种伪协议, 在一些文件处理函数的路径参数中使用的话就会触发反序列操作. 利用条件 phar 文件要能够上传到服务器端. 要有可用的魔术方法作为"跳板" (php 反序列化漏洞的 pop 链). 文件操作函数的参数可控,且 : ./.phar 等特殊字符没有被过滤. Demo 测试代码 测试代码如下 upload_file.php <?php if (($_FILES["file"]["type"]==&q…
moctf 没时间解释了 条件竞争漏洞 题目链接 条件竞争: 在本题目中,上传文件的时候服务器无条件的接收任何类型的文件,但是你上传之后服务器会给你的文件内容修改为too slow. 比如你上传了一句话木马shell.php,内容<?php @eval($_POST['pass']);?>,可以直接上传,但是马上内容会被修改为too slow 方法: 修改内容会有时间,我们不断的上传这个文件并且不断的访问,会有一次我们正好访问到真正的shell.php 因为服务器修改内容是很快的,所以我们得用…
①猫咪银行: (2018中科大hackgame) 一开始给十个CTB,而flag需要20个CTB,我们需要理财赚够20个. 理财是只能买入TDSU才可以获得收益.我们先上来直接把CTB全部换成TDSU. 上边是我们花了所有TDSU:66060买了19分钟后的收益.(因为一个账号最多存在20分钟,计算你用脚本极限也不能买20分钟,必须留一分钟用来换TDSU和买入,取出等操作) 还是不行,算上收益的钱1200231也不够买20个CTB. 考虑买RMX是否存在汇率差. 发现一个CTB57个RMX,一个…
1.<CTF 工具集>包括web工具.渗透环境.隐形工具.逆向工具.漏洞扫描工具.sql注入工具.暴力破解工具.加解密工具等等. 参考地址:https://www.ctftools.com/down/ 2.<CTF 竞赛入门指南>包括linux基础.web安全基础.逆向工程基础.密码学基础.安卓基础.漏洞分析.CTF主要工具使用.题解篇.实战篇等. 参考地址:https://firmianay.gitbooks.io/ctf-all-in-one/content/ 3. <工…
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algorithm [leetcode]88. 合并两个有序数组 https://leetcode-cn.com/problems/merge-sorted-array/submissions/ 1)problem 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使…
第一次遇到模板注入的题,赶紧记笔记,此篇相当于对大佬的做法的复现Orz,师傅太强了https://blog.csdn.net/weixin_44255856/article/details/97687299,这道题出自 2018的护网杯 在hints里看到条件,猜测  ” filename=/fllllllllllllag&filehash=?“,只要构造出这个就行了,但是现在还缺一个cookie_secret 一开始还以为是自己的cookie,构造好提交出现了一个新的界面 菜鸡无奈开始寻求wp…
最牛bypass:https://blog.csdn.net/solitudi/article/details/107752717 SSTI的奇怪绕过姿势:https://blog.csdn.net/solitudi/article/details/107752717 一 .什么是SSTI 0x00 模板注入 这是基于现在的MVC成熟的开发模式所导致的,开发者将输入通过V接收,交给C,然后由 C 调用 M 或者其他的 C 进行处理,最后再返回给 V ,这样就最终显示在我们的面前了,那么这里的 V…
node.js的crypto在0.8版本,这个模块的主要功能是加密解密. node利用 OpenSSL库(https://www.openssl.org/source/)来实现它的加密技术, 这是因为OpenSSL已经是一个广泛被采用的加密算法.它包括了类似MD5 or SHA-1 算法,这些算法你可以利用在你的应用中. 作为工程师,对于openssl一个开源的软件库,你没有用过,你应该听过这个名字.openssl是使用C/C++实现算法的. Nodejs用C/C++实现这些算法后,通过cypt…
这次强网杯第一天做的还凑合,但第二天有事就没时间做了(也是因为太菜做不动),这里就记录一下一道简单re-simplecheck(一血). 0x00 大致思路: 用jadx.gui打开zip可以看到,通过a.simplecheck即可. 分析一下a的代码不难看出,我们输入的字符串只是经过了一个简单的加法和乘法变化然后判断和a数组的值是否相等,以此写exp. 但是跑出来发现少了一点东西,比赛的时候着急也没管那么多直接补了个右括号提交,赛后又看了一下发现每次比较两个字符,也就是说到最后还有一个字符被我…
本文首发于“合天智汇”公众号 作者:Ch3ng 这里就借由强网杯的一道题目“Web辅助”,来讲讲从构造POP链,字符串逃逸到最后获取flag的过程 题目源码 index.php 获取我们传入的username和password,并将其序列化储存 ... if (isset($_GET['username']) && isset($_GET['password'])){ $username = $_GET['username']; $password = $_GET['password'];…
当眼睛因为过度劳累而状况频出的时候,许多人没有选择极目远眺.眼保健操.充分睡眠等简单易行的养眼方式,而是求助于各种护眼工具.于是,在视疲劳成为常见眼病之后,护眼市场产品层出不穷:护眼灯.眼贴.眼保仪.近视回归镜.防紫外线太阳镜.眼药水等.不过,在眼科专家和光学专家眼中,这些产品原形毕露:有的对眼睛有害无益,有的功效远没有宣传的那么神奇. 谎言一:护眼灯设下"无频闪"骗局 目前,市场上护眼灯产品琳琅满目,多数打着"通过调节频闪护眼"的概念.上海和平眼科医院专家表示,这…
Apple在中国(上海)有公司业务,但是感觉主要是做测试工作的部门,主要是保障Apple的产品质量QE.面试的时候,面试官出了一道题目,我貌似曾今开过类似的题目,但是由于当场发挥不佳没有答出来.题目大意是这样的: 在公司的某个通信协议中存在这样一个场景,甲给乙发送了一个数据帧,这个数据帧最前面的一个字节代表是数据帧的类型(总共四种),只可能为0,1,2,3.甲每次给乙发送一个数据包后,乙要通过自己写程序调用对应数据帧类型的函数来对这个数据帧进行处理.处理函数必须要和帧相对应,不然得不到真确的结果…
一道Android OpenGL笔试题 SkySeraph May. 5th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 题目 设计一个Android平台的Gallery组件,要求Gallery中每个item内的图片显示达成有效显示的最大精度,并保证Gallery在滚屏时能够全60FPS帧率地及时显示出加载的图片.请详细说明实现架构.关键技术点及APIs. 约束条件:GPU空间传输通道带宽较小,对…
前言 年前刚刚离职了,分享下我曾经出过的一道面试题,此题是我出的一套前端面试题中的最后一题,用来考核面试者的JavaScript的综合能力,很可惜到目前为止的将近两年中,几乎没有人能够完全答对,并非多难只是因为大多面试者过于轻视他. 题目如下: function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { alert (2);}; Foo.prototype.ge…