BUUCTF | [De1CTF 2019]SSRF Me】的更多相关文章

解法一字符串拼接: 1.得到签名sign http://8fa4531c-1164-49b7-a700-70e77e6aacb7.node3.buuoj.cn/geneSign?param=flag.txtread 2.添加Cookie发送请求得到flag Cookie: action=readscan;sign=cf8d4365c9b27a29b29e025a7ed25fa6 原理: 1.分析源码 #! /usr/bin/env python #encoding=utf-8 from flas…
目录 刷题记录:[De1CTF 2019]SSRF Me 一.涉及知识点 1.MD5长度扩展攻击 2.Python 2.x - 2.7.16 urllib.fopen支持local_file导致LFI(CVE-2019-9948) 二.解题方法 三.总结 刷题记录:[De1CTF 2019]SSRF Me 题目复现链接:https://buuoj.cn/challenges 参考链接:De1CTF ssrf_me 的三种解法 浅析De1CTF 2019的两道web SSRF ME && S…
原帖地址 : https://xz.aliyun.com/t/5927 De1CTF 2019 的一个题目总结 题目描述 直接查看页面源代码可以看到正确格式的代码 #! /usr/bin/env python #encoding=utf-8 from flask import Flask from flask import request import socket import hashlib import urllib import sys import os import json rel…
前置知识 本题框架是flask框架,正好python面向对象和flask框架没怎么学,借着这个好好学一下 这里我直接听mooc上北京大学陈斌老师的内容,因为讲的比较清楚,直接把他的ppt拿过来,看看就懂了 解题思路 直接给源码,得知是python,flask框架.审就完事了 代码审计 #! /usr/bin/env python #encoding=utf-8 from flask import Flask from flask import request import socket impo…
0x00 打开题目查看源代码,开始审计 这里贴上网上师傅的博客笔记: https://xz.aliyun.com/t/6050 #! /usr/bin/env python #encoding=utf-8 from flask import Flask from flask import request import socket import hashlib import urllib import sysi mport os import jsonreload(sys) sys.setdef…
目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 刷题记录:[De1CTF 2019]Giftbox && Comment 题目复现链接:https://buuoj.cn/challenges 参考链接:De1CTF Web WriteUp BUUCTF平台 web writeup 第三弹 一.知识点 1.sql注入 && t…
[De1CTF 2019]Giftbox 刚进来我以为是直接给了shell,恐怖如斯. 随便扔了个命令,之后就没然后了,hhh,截包发现可能存在sql注入. 然后我就不会了... what i learn? the first part: 可以看到ls命令的回显: [de1ta@de1ta-mbp /sandbox]% ls totp err, server timestamp:1595945786.8731 告诉我们totp发生了错误. TOTP totp是啥? //以下来源于百度 TOTP算…
看一下页面源码,发现了提示: calc.php?num=encodeURIComponent($("#content").val()) $("#content").val() 是什么意思: 获取id为content的HTML标签元素的值,是JQuery,     $("#content")相当于document.getElementById("content");       $("#content").v…
[2019红帽杯]easyRE 附件 步骤: ida载入,没有main函数,就先检索了程序里的字符串 发现了base64加密的特征字符串,双击you found me跟进,找到了调用它的函数,函数很长,我们分开看 首先我们输入的数据与它下表异或后等于数组a 数组a里的值,一开始ida分析出来是v17这种的参数,我改了一部分,太多了没有全部修改完,它这边定义了一个长度为36的数组,数值看图 先写个异或脚本,看一下我们输入的字符串是什么 a = [73,111,100,108,62,81,110,9…
感觉这题师傅们已经写得很详细了,我就做一个思路梳理吧,顺道学一波.user.ini 步骤: 1.上传一个“.user.ini”文件 2.上传自己的马“a.jpg” 3.菜刀连接 "http://b302f16c-6762-4496-be93-e544912aaf0d.node3.buuoj.cn/uploads/f4e7685fe689f675c85caeefaedcf40c/index.php",密码“pass” 解析: <?php // error_reporting(0);…
fuzz ing了一下,发现了一堆过滤: 同时发现了注入点,这个应该是var_dump()函数 ===============第二天的分割线 好吧我放弃了,找了一下wp 正确解:select 1;set sql_mode=pipes_as_concat;select 1||flag from Flag 这种解发第一次遇到赶紧在自己的环境下研究一下: 解析: 补充系统变量@@sql_modesql_mode:是一组mysql支持的基本语法及校验规则PIPES_AS_CONCAT:将“||”视为字符…
首先打开网址 发现有三种显示方法 还有一个没有输出 可以堆叠注入 1;show databases; 1;show tables; 可以看到有一个Flag表 测试发现from flag都被过滤不能直接读到flag 想了很久想不到 看别人wp了~ 看见听说比赛的时候原理泄漏了的 select $_GET['query'] || flag from flag 是这样 md 谁想的到啊 别欺负我们菜鸡好不好 不过由于没有过滤 * 出现了一个意外解*,1 预期解 在oracle 缺省支持 通过 ‘ ||…
[强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update,delete,insert这些sql语句呢? 原来这题需要用到堆叠注入: 在SQL中,分号(;)是用来表示一条sql语句的结束.试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入,而堆叠注入可以执行任意sql语句 这下就好理解了,过滤上面那些语…
BUUCTF 几道WEB题WP 今天做了几道Web题,记录一下,Web萌新写的不好,望大佬们见谅○| ̄|_ [RoarCTF 2019]Easy Calc 知识点:PHP的字符串解析特性 参考了一下网上大佬文章http://gality.cn/2019/10/21/php%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%A7%A3%E6%9E%90%E7%89%B9%E6%80%A7%E7%A0%94%E7%A9%B6/ 在php中,查询的字符串(URL或正文中)会被转换为内部$_G…
目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5.$file[count($file) - 1]和$ext = end($file)获取后缀名方式不同 6.绕过unlink 刷题记录:[De1ctf] shell shell shell 题目复现链接:https://buuoj.cn/challenges 参考链接:De1ctf - shell she…
ssrf解题记录 最近工作需要做一些Web的代码审计,而我Web方面还比较薄弱,决定通过一些ctf的题目打打审计基础,练练思维,在博客上准备开几个专题专门记录刷题的过程. pwn题最近做的也很少,也要开始做题了. 2020 GKctf:Ezweb 题目打开如下: 查看前端页面源码发现hint:get方式提交secret参数.传递secret参数之后发现后端执行了ifconfig命令. 有了内网ip之后,尝试在输入框输入ip地址,然后发现会对服务器的资源进行请求,请求到资源的结果会显示在页面前端.…
1' and '0,1' and '1  : 单引号闭合 1' order by 3--+ : 猜字段 1' union select 1,database()# :开始注入,发现正则过滤 1' and extractvalue(0x0a,concat(0x0a,(database())))# :数据库 :supersqli 0';show databases;#   : 尝试一堆后发现堆叠注入 0';show tables;# 然后就迷了,怎么从表中得到字段呢?后来查资料才知道,show也是可…
BUUCTF 1.打开题目 注入方法可参考NewsCenter 2.测试注入点 username: 1'or'1=1 password: 1'or'1=1 登录成功,说明存在注入漏洞. 下面测试位点个数. /check.php?username=admin' order by 3%23&password=1 正常回显 /check.php?username=admin' order by 4%23&password=1 报错 %23为"#"符号的URL编码形式 3.查库…
BUUCTF系列 想着应该不会这么简单吧... 结果就是这么简单ee 疯狂暗示... url:xxx/index.php 密码:Syc 连接成功... cd / ls cat flag…
[ZJCTF 2019]EasyHeap 附件 步骤: 例行检查,64位程序 试运行一下看看程序大概执行的情况,经典的堆块的菜单 64位ida载入,首先检索字符串,发现了读出flag的函数 看一下每个选项的函数 add 这边size的大小由我们输入控制,heaparray数组在bss段上存放着我们chunk的指针 edit,简单的根据指针修改对应chunk里的值,但是这里的size也是由我们手动输入的,也就是说只要我们这边输入的size比add的时候输入的size大就会造成溢出 delete,释…
[GWCTF 2019]xxor 附件 步骤: 无壳,64位ida载入 程序很简单,首先让我们输入一个字符串,然后进行中间部分的操作,最后需要满足44行的if判断,看一下sub_400770函数 得到几个关系式 a1[2] - a1[3] = 2225223423 a1[3] + a1[4] = 4201428739 a1[2] - a1[4] = 1121399208 a1[0] = 3746099070 a1[5] = 550153460 a1[1] = 550153460 利用z3求解器求…
[GWCTF 2019]pyre 附件 步骤: 1.附件是pyc文件,用python打不开,百度后得知用python反编译工具打开,分享一个python反编译在线网站 反编译后是这段代码 #!/usr/bin/env python # visit http://tool.lu/pyc/ for more information print 'Welcome to Re World!' print 'Your input1 is your flag~' l = len(input1) #输入字符串…
[ZJCTF 2019]Login 附件 步骤: 例行检查,64位程序,开启了canary和nx保护 2. 试运行一下程序 3. 64位ida载入,检索字符串,在程序里找到了用户名admin和密码2jctf_pa5sw0rd 再次尝试登录,无果 在程序里找到了后门函数,backdoor=0x400e88 c++写的程序,看起来有点费劲,自己看了好久都找到漏洞在哪里,后来借鉴了其他师傅的wp后才发现了猫腻 问题出现在检查密码的那个函数上 反编译出来的伪代码看起来没什么问题 但是我们按下tab,看它…
[第五空间2019 决赛]PWN5 题目网址:https://buuoj.cn/challenges#[第五空间2019%20决赛]PWN5 步骤: 例行检查,32位,开启了nx和canary(栈保护) nc一下,看看程序大概的执行情况,可以看到当输入的长度过长的时候,他的回显会有点问题,猜测输出语句存在问题 32位ida载入,shift+f12查看一下程序里的字符串,看到了 /bin/sh 双击跟进,ctrl+x找到调用这个字符串的函数 关于格式化字符串详细的讲解,看这里 看文章感觉还是不是很…
题目考查:python代码审计.hash长度拓展攻击 0x01 题目源码: #! /usr/bin/env python #encoding=utf-8 from flask import Flask from flask import request import socket import hashlib import urllib import sys import os import json reload(sys) sys.setdefaultencoding('latin1') ap…
记一道堆叠注入的题.也是刷BUU的第一道题. ?inject=1' 报错 ?inject=1'--+ //正常 存在注入的.正常查询字段数,字段数为2.在联合查询的时候给了新提示 ?inject=0' union select 1,2%23 正则匹配过滤掉了经常使用的查询关键字,但是并没有禁用show,那么可以试下堆叠查询. ?inject=0'; show databases;%23 暴出了一些数据库.接着查表. ?inject=0'; show tables;%23 显示有两张表.试着查看字…
总的来说这是一个64位orw的题 开头先在主函数里分配了一个很大的空间 1 __int64 __fastcall main(int a1, char **a2, char **a3) 2 { 3 mmap((void *)0x123000, 0x1000uLL, 6, 34, -1, 0LL); 4 sub_400949(); 5 sub_400906(); 6 sub_400A16(); 7 return 0LL; 8 } 1 __int64 sub_400949() 2 { 3 __int6…
最近我在Vimeo上发现了一个半响应的SSRF代码执行的可能性.这篇博客文章解释了我是如何找到并利用它的. 背景 Vimeo为其API提供了一个名为API Playground的API控制台,使用此Web应用程序发出的请求是从服务器端完成的.以下面的请求为例: 这是它的基本请求 该请求应该是服务器端GET请求 https://api.vimeo.com/users/{user_id}/videos/{video_id} 如果仔细观察请求,我们在这里控制了很多东西,首先uri 是在端点上命中的终点…
ssrf漏洞,全称为服务端请求伪造漏洞,由于有的web应用需要实现从其它服务器上获取资源的功能,但是没有对url进行限制,导致可以构造非本意的url对内网或者其它服务器发起恶意请求.ssrf漏洞的危害可以通过ssrf漏洞可以对内网或本地机器进行主机发现,服务版本探测或者针对内网或本地一些薄弱的应用进行攻击,同时利用ssrf漏洞还可以时服务器主动发起请求,从而做为一个攻击跳板或者绕过CDN找到其服务器的真实ip file_get_contents(),fsockopen(),curl_exec()…
原文:https://generaleg0x01.com/2019/03/10/escalating-ssrf-to-rce/ 查找域名范围: 在枚举客户端的子域名时.找到了子域名[docs] 打开这个子域名[docs.redact.com] 查找带外资源负载: [docs]子域名显示了一些文档和统计信息 在点击统计数据的照片时,有请求内部URL的链接: 将[url]的值改为generaleg0x01.com [mimeType]参数编辑了链接,并将值更改为: https://docs.reda…