[GYCTF2020]EasyThinking1简单解析
[GYCTF2020]EasyThinking1简单解析题目:御剑扫描到www.zip,打开 得知是thinkphp框架,网上自行搜索这个版本的漏洞 https://www.cnblogs.com/Litsasuk/articles/18399299 https://xz.aliyun.com/news/8139 思路:1.登陆时session注入,写入文件名长32位的php文件 2.搜索时注入一句话木马,并抓包修改cookie 1<?php eval($_POST[1]); ?> 你的历史记录内容会被写入文件,文件名就是uid,我们只要保证这次记录也写入我们一开始准备好的文件里面就行:即 修改文件名(修改uid) 3.打开文件,蚁剑连接,利用插件绕过禁用函数 文件位置: 1/runtime/session/sess_1234567123456712345671234568.php 蚁剑利用插件 源代码简单探索:解题思路:用户在搜索时和在登陆时都是用的同一个sessionuid,我们可以联想到需要利用这个uid创造文件,写入文件,然后打开文件 以下是...
[SUCTF 2019]EasyWeb1特详解(无字符数字注入+木马图上床)
[SUCTF 2019]EasyWeb1特详解(无字符数字注入+木马图上床)前期知识点:1.php内置函数:count_chars(string $string, int $mode) 模式 ($mode) 它的逻辑(翻译成人话) 返回值类型 举例:”banana” 0 统计 0~255 所有 ASCII 码出现的次数。 数组 (Array) 一个超长数组,[97]=>3, [98]=>1... 其余没出现的都是 0。 1 只统计出现次数大于 0 的字符。 数组 (Array) [97]=>3, [98]=>1, [110]=>2 (a, b, n 的次数) 2 看看哪些字符你没用过。 数组 (Array) 除了 a, b, n 以外所有字符的数组。 3 把用过的字符去重、排序、拼成字符串。 字符串 (String) "abn" 4 把没用过的字符按顺序拼成字符串。 字符串 (String) " !#...cdef..." (除了 a, b, n 以外的所有字符) 2.解析正则匹配...
[b01lers2020]Welcome to Earth 1
[b01lers2020]Welcome to Earth1发现有个快速跳过的/chase/文件 没有思路抓包看看/chase/文件 很明显 **/leftt/**是多出来的,去看看 黄线部分翻译过来是:你已经瞄准了障碍球,开杆吧 而下面的**/shoot/**刚好是射击的意思,呼应了 看看shoot 得到**/door/** 看**/door/** 1<button onClick="check_door()">Check</button> 我们看到了这个函数,但这个函数是啥 我们去js文件/static/js/door.js看看 找到了**/open/** 继续**/open/** How do you open it?和open(0); 暗示我们去看看open是啥,不如看看js文件**/static/js...
[ASIS 2019]Unicorn shop 1
[ASIS 2019]Unicorn shop 12019年的题目了,7年前,时间太恐怖了 题目如图:一个purchase的提交表单 0x01 思路1.先随便输入购买,进行抓包 没懂,回复是:错误的商品 2.继续试一下html实体编码后的字符: 1,这个表示1,发现有报错信息 看一下报错是:只能接受一个unicode字符作为参数 12unicodedata.numeric(price)TypeError: need a single Unicode character as parameter 那这样我们只能买id为1价格为1的独角兽了,但是我们第一此买的就是这个,回复显示了:错误的商品 3.试试看unicode,毕竟题目提示“Unicode”,而且你猜unicorn读起来是不是很Unicode很像呢?已知我们肯定需要更多钱去被一个unicode字符表示 ‘price=億’数值就是一个亿了 但是又到回复了错误商品wrong commodity 想到购买的商品原来是错的,试试ultra的独角兽 4.payload:1id=4&price=億 ...
BUUCTF reverse1
reverse 1快捷键:shift+f12 字符串搜索窗口 x交叉搜索 f5反汇编c r数字转ascii 解法:进去是一个exe程序,可以用脱壳软件脱壳, 但是这个没有壳 直接ida反汇编就ok 1.查看shift+f12 字符串搜索窗口,搜flag,找到相关内容 双击打开,再交叉引用找到文件位置并打开(找到这个字符串在什么时候被引用了),反汇编c看代码 1.1 strncmp函数strncmp(Str1, Str2, v5) 比较前两个字符串,前v5个位置; 相等值为0; 大于值为正数; 小于值为负数; str1是什么? -> sub_1400111D1(“input the flag:”);猜测d1是printf; sub_14001128F(“%20s”, Str1); 可以看到str1是我们输入的内容; str2是什么? -> 寻找这个字符串 1.2 for循环遍历,把所有ascii为111的字符都换为48这里光标指向后按r,可以把ascii转字符 得到: 1.3 综合12if ( !strncmp(Str1, Str2, v5) ) sub_1...
一分钟速通CVE-2019-13956漏洞复现Discuz!ML远程代码执行
一分钟速通CVE-2019-13956漏洞复现Discuz!ML远程代码执行0x01 漏洞介绍123描述:Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。Discuz!ML 3.2 到 3.4 允许远程攻击者通过修改过的语言 cookie 执行任意 PHP 代码,如将 4gH4_0df5_language=en 更改为 4gH4_0df5_language=en'.phpinfo().' 所示;(如果使用了随机前缀 4gH4_0df5_)。 漏洞出现在传入cookie的language值时,逻辑是直接将传入的语言拼接成一个缓存文件,然后利用文件包含解析 由于并没有做过滤,我们拥有可控的文件名 0x02 poc抓包,在cookie中原有语言后,加入 1'.phpinfo().' 查看flag即可 0x03 漏洞溯源:下载源码 1https://bitbucket.org/vot/discuz.ml/downloads/ 1.upload\source...
[GYCTF2020]FlaskApp 1题解-flask模板ssti注入+pin码破解
[GYCTF2020]FlaskApp 1题解-flask模板ssti注入+pin码破解0x01 知识点储备:1.CSRF跨站请求伪造CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种网络攻击形式,攻击者通过伪造用户的请求,利用用户已登录的身份在受信任的网站上执行未授权的操作。此类攻击通常发生在用户登录后,攻击者诱导用户访问恶意链接或页面,从而在用户不知情的情况下执行敏感操作 2.Flask 的 PIN 码了解在开发 Flask 应用时,如果开启了 debug=True 模式,一旦程序运行出错,浏览器就会显示一个详细的报错页面(Traceback)。 为了方便开发者调试,这个页面提供了一个交互式控制台(Interactive Console),能直接在浏览器里输入 Python 代码。 为了有人利用这个控制台远程控制服务器,Flask 的底层工具库 Werkzeug 就设计了 PIN 码。 – #以下引用内容来源于这篇文章,大家可以看看 pin码主要由六个参数构成 probably_public_bits: username:执行代码时的用...
vulfocusspring-core-rceSpring Framework 远程命令执行漏洞-漏洞简易解析+靶场使用建议
vulfocus/spring-core-rce/Spring Framework 远程命令执行漏洞-漏洞简易解析+靶场使用建议0x01 参考文章+漏洞简介+复现常见问题及建议1.参考文章:https://blog.csdn.net/woai_zhongguo/article/details/125846680?ops_request_misc=elastic_search_misc&request_id=4d2bbd099f3ea2bcf6ea3d28d71767df&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-125846680-null-null.142^v102^pc_search_result_base9&utm_term=Spring%20Framework%20%E8%BF%9C%E7%A8%8B%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E6%B...
BUUCTF MISC 九连环
BUUCTF MISC 九连环1.binwalk和foremost之后拿到zip,发现要密码,我就试试了123456cry发现不行 2.打开010发现50 4B 01 02,原来是伪加密,全局方式位标记改成00 00 保存重新打开发现 你说给我们一个压缩包,再给我们张图片是什么意思呢? 拿着图片里面的信息解压zip啊 3.图片存在隐写,下载steghide提取图片信息,然后打开复制文本信息,作为密码解压zip压缩包 这里steghide的密码直接回车就好了 为什么? 如果设置了密码,它会用密码对数据进行加密后再嵌入。 如果没有设置密码(即空密码),它就直接将数据按照算法逻辑塞进图片。 4.解压拿到flag
vulfocusrails-cve_2018_3760漏洞详解+源码分析
vulfocus/rails-cve_2018_3760漏洞详解+源码分析本文参考技术文章: https://qkl.seebug.org/vuldb/ssvid-97466 0x01 漏洞介绍:123456789 名称: vulfocus/rails-cve_2018_3760:new 描述: Ruby On Rails 是著名的 Ruby Web 开发框架,它在开发环境中使用 Sprockets 作为静态文件服务器。Sprockets 是一个编译和分发静态资源文件的 Ruby 库。Sprockets 3.7.1及更低版本存在二次解码导致的路径遍历漏洞。攻击者可以%252e%252e/用来访问根目录并读取或执行目标服务器上的任何文件。 0x02 知识点: 1.二次编码绕过已知: .的url编码是:%2e %2e的url编码是:%252e 所以: 上一级目录原本是:../ 为了绕过我们改成:%252e%252e/ 2.简单了解RoR(ruby on rails) 笔者十分认同这个理念,还看了篇文章https://zhuanlan.zhihu.co...