攻防世界(XCTF)逆向部分write up(一)】的更多相关文章

晚上做几个简单的ctf逆向睡的更好 logmein elf文件 ida看看main函数伪代码 void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) { size_t v3; // rsi int i; // [rsp+3Ch] [rbp-54h] ]; // [rsp+40h] [rbp-50h] int v6; // [rsp+64h] [rbp-2Ch] __int64 v7; // [rsp+68h] [rbp-…
挑着做一些好玩的ctf题 FlatScience web2 unserialize3upload1wtf.sh-150ics-04web i-got-id-200 FlatScience 扫出来的login.php 查看源码,发现参数debug,传参?debug=1,得到如下代码: <?php if(isset($_POST['usr']) && isset($_POST['pw'])){ $user = $_POST['usr']; $pass = $_POST['pw']; $d…
ics-07  Web_php_include  Zhuanxv Web_python_template_injection ics-07 题前半部分是php弱类型 这段说当传入的id值浮点值不能为1,但是id的最后一个数必须为9,session才能为admin 当id为1a9时可符合上面的要求 看看上传的源码: <?php if ($_SESSION['admin']) { $con = $_POST['con']; $file = $_POST['file']; $filename = &quo…
  cat ics-05 ics-06 lottery Cat XCTF 4th-WHCTF-2017 输入域名  输入普通域名无果  输入127.0.0.1返回了ping码的结果 有可能是命令执行 尝试fuzz命令执行  特殊符号 看了wp涨了点姿势 %80之后的url编码)就可以返回Django报错   %80后的字符结合报错信息UnicodeEncodeError可以推断是由于ascii编码不支持导致的报错,根据报错信息可以得到的信息 里面可以得到项目路径opt/api/ setting.…
国庆就要莫得了   起床刷几道 NewsCenter mfw Training-WWW-Robots NaNNaNNaNNaN-Batman bug NewsCenter search传参那里发现有注入 注入出flag即可 没太大转弯 ' and 0 union select 1,2,fl4g from secret_table # mfw 发现git泄露 下载下来看源码 index.php中关键源码: <?php if (isset($_GET['page'])) { $page = $_GE…
攻防世界逆向:game wp 攻防世界逆向新手区的一道题目. 是一道windows的creak,动态调试打开是这样的: 题目说明是让屏幕上所有的图像都亮之后,会出现flag,看来应该是可以玩出来的. IDA打开后,发现是静态链接.我首先shift 12看了一下,然后去rodata段看看能不能找出flag对应的字符串,无果. 然后找到主调函数,发现程序结束后,与flag对应的函数如下: 这样看来,把对应的变量存储在一个文件里,简单做一个算法逆向就可以了.脚本如下: ls1=[] ls2=[] i=…
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 robots4 0x04 backup6 0x05 Cookie7 0x06 disabled button8 0x07 simple js9 0x08 XFF Referer10 0x09 weak auth(弱口令密码)12 0x10 web shell15 0x11 command_executio…
XCTF攻防世界web进阶练习-mfw题目为mfw,没有任何提示.直接打开题目,是一个网站 大概浏览一下其中的内容,看到其中url变化其实只是get的参数的变化查看它的源码,看到有一个?page=flag,flag应该在这个页面里面 但是进入这个页面发现是空的 注意到有这样一个页面,说道用到了Git,想到是否可能和Git源码泄露有关 于是试一下http://111.198.29.45:33750/.git这个url,果然有猫腻 利用.git源码泄漏漏洞,使用githack(下载地址:https:…
攻防世界 WEB 高手进阶区 XCTF Web_python_template_injection Writeup 题目介绍 题目考点 SSTI模板注入漏洞 Writeup 知识补充 模板注入:模板引擎可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码的分离,这大大提升了开发效率,良好的设计也使得代码重用变得更加容易.但是模板引擎也拓宽了我们的攻击面.注入到模板中的代码可能会引发RCE或者XSS. 众所周知ssti要被{{}}包括.接下来的代码均要包括在ssti中. 1.几种常用于ssti…
攻防世界 WEB 高手进阶区 XCTF Web_php_unserialize Writeup 题目介绍 题名考点 PHP反序列化漏洞 正则匹配 Writeup <?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_file($this->file,…
攻防世界 WEB 高手进阶区 XCTF 4th-CyberEarth ics-06 Writeup 题目介绍 题目考点 掌握暴力破解手段 Writeup 打开链接 http://220.249.52.134:36745 根据提示,直接进报表中心(事实上,一开始没看提示,我都点了一遍,只有报表中心有返回页面,尴尬) 看到 http://220.249.52.134:36745/index.php?id=1 尝试将 id= 任意字符等,试了一波,发现最后都变成了数字 尝试使用 burpsuite 进…
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5063 百度 robots协议 robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它[1]  .robots.txt是一个协议,而不是一个命令.robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.robots.txt文件…
攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5062 了解http请求方法,此处考察get和post两个最常用的请求方法. HTTP协议中共定义了八种方法或者叫“动作”来表明对Request-URI指定的资源的不同操作方式,具体介绍如下: GET:向特定的资源发出请求. POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件).数据被包含在请…
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod 777 XXX加上./XXX 运行一下 静态调试 打开IDA-64,一路默认,看到main函数: 可以看到执行的功能是先输入字符串长度,然后输入字符串,接着会返回指定长度的输入字符串.如果一开始输入的数字小于16,会指定长度为16.可以看到很明显的栈溢出漏洞.但是又有些不一样,看大神WP才知道需要s…
这是2017 ddctf的一道逆向题, 挑战:<恶意软件分析> 赛题背景: 员工小A收到了一封邮件,带一个文档附件,小A随手打开了附件.随后IT部门发现小A的电脑发出了异常网络访问请求,进一步调查发现小A当时所打开的附件其实是一个伪装成word文档的恶意可执行文件. 赛题描述: 请在试着分析evil.exe和其所下载的x.jpg, 从中找出key. 评分标准: 密钥正确则可进入下一题. 攻防世界只给了exe文件,没有给x.jpg文件,(每个人的x.jpg文件是不同的,解得的flag也是不一样的…
APK-逆向2 Hack-you-2014 (看名以为是安卓逆向呢0.0,搞错了吧) 程序是.net写的,直接祭出神器dnSpy 1 using System; 2 using System.Diagnostics; 3 using System.IO; 4 using System.Net.Sockets; 5 using System.Text; 6 7 namespace Rev_100 8 { 9 // Token: 0x02000002 RID: 2 10 internal class…
攻防世界系列:web2 1.代码审计  知识补充: strrev(string):反转字符串 strlen(string):字符串长度 substr(string,start,length):截取字符(从第start位开始,取length个字符) ord(string):把字符转为ASCII chr():把ASCII转为对应字符 str_rot13(string):用ROT13编码(把字符在字母表中的位置向前移动13位,非字符不变,编码解码由同一函数完成) 2.根据加密算法,编写解密脚本 <?p…
攻防世界系列 :unserialize3 1.打开题目,反序列化 2.代码审计 类xctf被调用时_weakeup()函数会被自动执行,但当序列化字符串中属性值个数大于属性个数,就会导致反序列化异常,从而跳过__wakeup(). 3.构造payload O:4:"xctf":1:{s:4:"flag";s:3:"111";} 即我们修改上面字符4或1或4或3中,任意一个数字为更大值. O:8:"xctf":1:{s:4:&q…
攻防世界Web区部分题解   前言:PHP序列化就是把代码中所有的 对象 , 类 , 数组 , 变量 , 匿名函数等全部转换为一个字符串 , 提供给用户传输和存储 . 而反序列化就是把字符串重新转换为 对象 , 类 , 数组 , 变量 , 匿名函数 . 通过这种相互转换 ,从而完成 数据持久化. 谈到php的反序列化,就不能不说反序列化中的几种魔术方法,下面是文档中对于魔术方法的说明. 下面看几种重要的魔术方法: __wakeup方法 unserialize()会先检查是否存在一个__wakeu…
攻防世界 WEB 高手进阶区 unserialize3 Writeup 题目介绍 题目考点 PHP反序列化 __wakeup漏洞 Writeup 题名 unserialize 是反序列化函数名 了解一下什么是序列化和反序列化 当在php中创建了一个对象后,可以通过 serialize() 函数把这个对象转变成一个字符串,保存对象的值方便之后的传递与使用.与 serialize() 相反的就是反序列化函数 unserialize() ,它可以将一个字符串转变为相对应的php对象. 在序列化过程中会…
攻防世界 WEB 高手进阶区 NSCTF web2 Writeup 题目介绍 题目考点 php基本函数语法 加密解密函数 base64_decode().str_rot13() 字符串反转函数 strrev() 返回字符串一部分函数 substr() Writeup 进入题目直接给出php源码 <?php $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws"; function encode($…
长期更新一波 攻防世界 的杂项题解 这东西主要靠积累吧 攻防世界:https://adworld.xctf.org.cn 因为攻防世界的题目顺序经常变化,我也不改序号了,顺着之前写的位置往下写,推荐使用 ctrl+F 搜索题目名字来定位 在语雀上建立了一个杂项知识库,收集杂项的知识点:https://www.yuque.com/hxfqg9/tx8y1v/uew75k 新手练习区 1.this_is_flag 题目直接给出了 flag 2.ext3 主要考察 linux 下光盘的挂载 strin…
20145335郝昊<网络攻防>Bof逆向基础--ShellCode注入与执行 实验原理 关于ShellCode:ShellCode是一段代码,作为数据发送给受攻击服务器,是溢出程序和蠕虫病毒的核心,一般可以获取权限.我们将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出漏洞,覆盖成为指向ShellCode的地址. Linux中两种基本构造攻击buf:retaddr+nop+shellcode,nop+shellcode+retaddr,缓冲区小就把shellcode放后面,若缓冲区较…
攻防世界 web进阶练习 NewsCenter   题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有什么变化,考虑SQL注入.随便输入234234234,用burp抓包,发现是post方式,直接用sqlmap爆破.将http头保存为1.txt,试试用sqlmap爆数据库查看news数据库内容sqlmap -r 1.txt -D news --dump得到flag!…
题目链接 PWN200 题目和JarvisOJ level4很像 检查保护 利用checksec --file pwn200可以看到开启了NX防护 静态反编译结构 Main函数反编译结果如下 int __cdecl main() { int buf; // [esp+2Ch] [ebp-6Ch] int v2; // [esp+30h] [ebp-68h] int v3; // [esp+34h] [ebp-64h] int v4; // [esp+38h] [ebp-60h] int v5;…
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经执行成功,执行的是一个ping命令,一开始想的应该是命令拼接执行,但是输入任何有关拼接的字符串都会提示invalid url 说明系统对这些字符串都进行了过滤,fuzz测试后发现只有@没有被过滤. 且当输入@时,会将@编码为%40 尝试在url处输入宽字符,比如%bf 出现报错信息,是一段html代…
来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围:如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面. [目标] 掌握robots协议的知识 [环境] windows [工具] 扫目录脚本dirsearch(项目地址:https://github.com/maurosoria/…
easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间  明明没算错呀  hhhh  不仅仅是Morse 一看首先肯定要用morse解码 解密morse密码工具https://tool.lu/morse/ 你看提示maybe have 什么什么什么 就知道还要再解码 再看后面的很像培根密码 解密培根密码工具https://tool.bugku.com/peigen/…
学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在网上看到可以在url前面插入view-source:来查看网页源代码 第二题 get_post 题目描述点明了该题要用到关于http的两种请求方式,那么就要学习一下http的几种请求方式. 查阅各种博客之后,发现get的请求方式直接在url框内输入就好,而post的请求方式需要用其他方式写入参数,有…
攻防世界web新手区 第一题view_source 第二题get_post 第三题robots 第四题Backup 第五题cookie 第六题disabled_button 第七题simple_js 第八题xff_referer 第九题weak_auth 第十题webshell 第十一题command_execution 第十二题simple_php 第一题view_source f12查看源码 第二题get_post 1按照提示先get一个a=1,在post一个b=2,就行 第三题robots…