c1ay's blog

c1ay's blog

信息安全原创技术博客

PHP反序列化漏洞学习-绕过_wakeup()函数

PHP反序列化漏洞学习-绕过_wakeup()函数

题目代码

代码如下,要求利用php反序列化漏洞去读取flag.php文件中的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
class SoFun{
protected $file='index.php';
function __destruct(){
if(!empty($this->file)) {
if(strchr($this-> file,"\\")===false && strchr($this->file, '/')===false)
show_source(dirname (__FILE__).'/'.$this ->file);
else die('Wrong filename.');
}}
function __wakeup(){ $this-> file='index.php'; }
public function __toString(){return '' ;}}
if (!isset($_GET['file'])){ show_source('index.php'); }
else{
$file=base64_decode( $_GET['file']);
echo unserialize($file ); }
?> #<!--key in flag.php-->
记一次ctf极限利用-不包含数字字母的webshell

记一次ctf极限利用-不包含数字字母的webshell

问题来自于同事给我一道安恒的ctf赛题,题目代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include 'flag.php';
if(isset($_GET['code'])){
$code = $_GET['code'];
if(strlen($code)>35){
die("Long.");
}
if(preg_match("/[A-Za-z0-9_$]+/",$code)){
die("NO.");
}
@eval($code);
}else{
highlight_file(__FILE__);
}
//$hint = "php function getFlag() to get flag";
?>

Ecshop2.x注入漏洞&代码执行漏洞分析

Ecshop2.x注入漏洞&代码执行漏洞分析

Ecshop最近爆出了两个高危漏洞,分别是SQL注入漏洞和代码执行漏洞,刚好自己在学代码审计方面的知识,于是自己针对两个漏洞的成因分析了一波,发现这是一个很有意思的二次漏洞,在这将整个学习过程做个记录

XSS绕过之中文尖括号

XSS绕过之中文尖括号

记录一个我实战中遇到的比较有意思的XSS绕过,过滤方式比较奇葩,把>变为了中文的尖括号,导致插入页面的xss payload不能被浏览器解析,但是经过一番测试无意间发现了一种绕过方式,构造方法比较特殊,在这分享一下~

ssrf漏洞学习记录

ssrf漏洞原理以及利用方法

ssrf漏洞,全称为服务端请求伪造漏洞,由于有的web应用需要实现从其它服务器上获取资源的功能,但是没有对url进行限制,导致可以构造非本意的url对内网或者其它服务器发起恶意请求。ssrf漏洞的危害可以通过ssrf漏洞可以对内网或本地机器进行主机发现,服务版本探测或者针对内网或本地一些薄弱的应用进行攻击,同时利用ssrf漏洞还可以时服务器主动发起请求,从而做为一个攻击跳板或者绕过CDN找到其服务器的真实ip

记一次失败漏洞利用的经历--ubuntu下的redis未授权访问漏洞复现

记一次失败漏洞利用的经历–ubuntu下的redis未授权访问漏洞复现

由于redis的配置不当导致攻击者可以利用该未授权访问漏洞去对服务器进行攻击,redis服务默认端口为6379端口,在利用该漏洞的时候,由于服务器是ubuntu的原因,遇到了不少坑导致最终并没有利用成功,不像之前在centos环境下利用该漏洞时那样顺利,所以在这里记录一下。在理解这篇文章之前,可以先参考一下之前的解决ubuntu任务计划写shell失败的问题关于ubuntu和centos cron的一些区别这两篇文章

关于ubuntu和centos cron的一些区别

关于ubuntu和centos cron的一些区别

写这篇文章的目的,源自解决ubuntu任务计划写shell失败的问题这篇文章遗留下来的一个问题:就是在向ubuntu的/var/spool/cron/crontabs目录下创建任务计划文件时,需要修改该文件的权限为600,也就是r------,该任务计划文件才能执行,否则就会报错不能执行,报出(root) INSECURE MODE (mode 0600 expected)这个错误,这个问题当时没有太注意,以为是umask不同的问题。直到今天再次利用ubuntu环境下的redis未授权访问漏洞反弹shell时才发现这样一个问题,就是我们并不能直接利用未授权访问漏洞去修改/var/spool/cron/crontabs目录下我们创建的任务计划文件的权限,所以导致任务计划文件不能执行,于是又研究了一番,偶然发现ubuntu和centos的umask是相同的,都是0022,说明之前自己的想法是错误的,并不是umask不同的问题,而是centos和ubuntu cron的区别,下面就来总结一下其cron的区别

解决ubuntu任务计划写shell失败的问题

解决ubuntu任务计划写shell失败的问题

这个问题的由来是因为自己在复现redis未授权访问漏洞时,通过向linux任务计划文件里写反弹shell的命令时,发现shell并不能反弹回来,之前使用的server端为Centos,一切顺利并没有出现这种问题,结果这次server换成了ubuntu,就出现不能反弹的问题,结果因为这个问题卡了很久,最终在kakaxi和ttgo2两位老师的指导和帮助下才解决了该问题,将整个问题的解决过程在这里记录一下~

记一次漏洞组合拳-水平越权+Self XSS漏洞
记一次漏洞组合拳-水平越权+Self XSS漏洞在一次漏洞挖掘当中,发现在用户中心设置信息的位置存在存储型xss漏洞,尝试新增常用联系人,在详细地址的位置插入xss的payload,可以发现成功弹出了Cookie 1<script>alert(document.cookie)</script> 但是此处有可能只是一个selfxss,如果只是能打到自己的cookie,那么这个存储型xss就会显得很鸡肋。但是这个网站存在一个越权添加个人信息的漏洞,越权的漏洞之前也提交过一次,在添加的时候通过修改user_id可以越权将信息添加到其它用户里,在这里可以利用越权漏洞将...
Linux下几种反弹shell方法的总结与理解

Linux下几种反弹shell方法的总结与理解

之前在网上看到很多师傅们总结的linux反弹shell的一些方法,为了更熟练的去运用这些技术,于是自己花精力查了很多资料去理解这些命令的含义,将研究的成果记录在这里,所谓的反弹shell,指的是我们在自己的机器上开启监听,然后在被攻击者的机器上发送连接请求去连接我们的机器,将被攻击者的shell反弹到我们的机器上,下面来介绍分析几种常用的方法

avatar
c1ay
Learning to be good at thinking, thinking, thinking.