desperadoccy的小窝


  • 首页

  • 归档

  • 关于

  • 标签

  • 分类

  • 友链

  • 搜索

CVE-2020-7245 账号接管漏洞

发表于 2020-03-11 | 分类于 CTF , web

漏洞描述

在CTFd v2.0.0-v2.2.2的注册过程中,错误的用户名验证会允许攻击者接管任意帐户,前提是用户名已知并且在CTFd实例上启用了电子邮件。要利用此漏洞,必须使用与受害者的用户名相同的用户名进行注册,但在用户名之前和/或之后插入空格。这将使用与受害者相同的用户名注册该帐户。在为新帐户启动密码重置后,由于用户名冲突,CTFd将重置受害者的帐户密码。

阅读全文 »

Java ArrayList引起的思考及泛型原理分析

发表于 2020-02-25 | 分类于 C++ , Java

前言

在学习Java的时候,泛型作为Java的一个重大特性,是一个不可避及的知识点.但在学习过程中发现子类对象存到ArrayList<父类>里面,读出来的时候,子类特有属性还在,这也就是说,当元素存储进ArrayList时,并不是将子类对象强制转换成父类对象(舍弃特有属性存储的).而Java支持<? super A类>,<? extends A类>(这是一个A类泛型或者其子类泛型)也加深了我这一疑惑.

阅读全文 »

哈希长度拓展攻击(Hash Length Extension Attacks)

发表于 2020-02-19 | 分类于 CTF , web

前言

最近刷jarvis oj时遇到了哈希长度扩展攻击,本文打算对哈希长度扩展攻击做一个记录

阅读全文 »

sql注入盲注脚本

发表于 2020-02-18 | 分类于 CTF , wp

前言

选取了两条盲注题作为例题,记录了几个典型写法的脚本

阅读全文 »

Jarvis OJ web部分WP

发表于 2020-02-15 | 分类于 CTF , web

PORT51

使用curl的--local-port功能强制使用本地51端口访问,但我在本地Windows没能跑通,可能不兼容吧。虚拟机里是把端口映射出来的,所以也跑不通。最后在服务器拿到了flag。
test

阅读全文 »

SSTI进阶

发表于 2020-02-10 | 分类于 CTF , web

写在前面

之前陆老板写了几道简单web题让我们测试一下,顺便写个wp给他(嘿嘿,别有用心)。可是由于自己太菜,SSTI的题目遇到的很少,所以此类题目一直靠dalao的通用exp苟活,一遇到过滤就不太能走通了,所以那题磨了很久没搞出来。所以今天做几道SSTI记录下。

简述SSTI

之前的博客已经介绍过SSTI了,还不懂的可以去看看
>>>传送门

##

初识Fastcgi

发表于 2020-02-03 | 分类于 CTF , web

0x00写在前面

看了p神的博客和其他大佬的博客后,发现自己对通讯这边还是不太懂.
希望摘抄下他们的博客,能够加深理解吧orz

阅读全文 »

phpinfo信息利用

发表于 2020-02-01 | 分类于 CTF , web

摘自微信公众号HACK学习呀的phpinfo信息利用

在很多比赛中phpinfo能够带来很多有用的信息,因此整理了一些.

阅读全文 »

curl_exec及parse_url绕过

发表于 2020-01-30 | 分类于 CTF , web

0x00简介

最近肺炎爆发,被迫宅在家。闲来无事,做了道web题,正巧碰到了盲点,记录一下。
题目允许用户输入一个图片url,并通过curl发起请求返回图片给用户。
源码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
include "config.php";
session_start();
if(!isset($_SESSION['username'])) {
header('Location: index.php');
exit();
}

function insert_img() {
if (isset($_POST['img_url'])) {
$img_url = @$_POST['img_url'];
$url_array = parse_url($img_url);
if (@$url_array['host'] !== "localhost" && $url_array['host'] !== "timgsa.baidu.com") {
return false;
}
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $img_url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($c);
curl_close($c);
$avatar = base64_encode($res);

if(filter_var($img_url, FILTER_VALIDATE_URL)) {
return $avatar;
}
}
else {
return base64_encode(file_get_contents("static/logo.png"));
}
}
?>
阅读全文 »

BUUCTF_web做题记录

发表于 2019-12-28 | 分类于 CTF , wp

[HCTF 2018]WarmUp

一条源码审计,访问source.php后可查看源码。查看源码可发现后端将传进来的file参数进行修改,然后查看是否属于白名单,但通过后require的却还是原值。所以要做的就是绕过验证。
分析源码

1
2
3
4
5
6
7
8
 $_page = mb_substr(
$page,
0,
mb_strpos($page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}

显然,构造一个hint.php?*类似这样的payload即可绕过。
查看php文档中对include函数有如下解释

如果定义了路径——不管是绝对路径(在 Windows 下以盘符或者 \ 开头,在 Unix/Linux 下以 / 开头)还是当前目录的相对路径(以 . 或者 .. 开头)——include_path 都会被完全忽略。例如一个文件以 ../ 开头,则解析器会在当前目录的父目录下寻找该文件。

即当file=hint.php?/*时,它会将这个文件名当作文件路径,然后忽略其。至此,便可构造file=hint.php?/../../../../../ffffllllaaaagggg拿到payload

阅读全文 »
123…6
desperadoccy

desperadoccy

desperado个人博客,一个热衷安全的软工狗。

60 日志
26 分类
33 标签
GitHub E-Mail
© 2019 — 2021 desperadoccy
访问人数 人 总访问量 次