离别歌

The quieter you become,the more you are able to hear.

Programming • Vulnerability • Bypass • Exploit
  • Programming

    一个不会编程的hacker不是好hacker,努力提高编码水平,接触最前沿的代码思想,构架自己的平台框架。

  • Vulnerability

    没有漏洞就没有安全,安全建立在发现漏洞与解决漏洞之间。世上没有完美的代码,也不会有零漏洞的程序。

  • Bypass

    不断地绕过,不断地突破防御机制,考验的是一个安全研究者对于漏洞原理的理解,更是猥琐的思路。

  • Exploit

    发现一个漏洞,你成功了70%;写出利用代码,完成剩下的30%。行百步者半九十。

deep

eval长度限制绕过 && PHP5.6新特性

作者: 分类: PHP 时间: 2017-1-18 22:25 评论: 1条评论 浏览: 1767人看过 标签: ctf 命令执行漏洞

昨天晚上 @roker 在小密圈里问了一个问题,就是eval(xxx),xxx长度限制为16个字符,而且不能用eval或assert,怎么执行命令。

我把他的叙述写成代码,大概如下:

<?php
$param = $_REQUEST['param'];
if(strlen($param)<17 && stripos($param,'eval') === false && stripos($param,'assert') === false) {
  eval($param);
}
?> 

那么这个代码怎么拿到webshell?

命令执行的利用

这个是我得到最多的一种答案,大部分人都是利用命令执行来绕过限制,最短的是:

param=`$_GET[1]`;&1=bash 

稍长一点的可以用exec:

param=exec($_GET[1]); 

这个方法我就不多说了,送分题。

远程文件包含的利用

有的同学提到了远程文件,但正常文件包含include...

阅读全文>>

Destoon 6.0 guestbook.php 通用SQL注入漏洞

作者: 分类: 网络安全 时间: 2017-1-13 13:21 评论: 5条评论 浏览: 1242人看过 标签: 注入漏洞 destoon

14842844351228.jpg

刚看到今天发布了Destoon 6.0 2017-01-09 更新,用我在【代码审计】小密圈里说过的方法,瞬间找到修复的一处SQL注入漏洞。用中午的20分钟,小小地分析一下。

我们先看看diff(左新右老):

14842843330983.jpg

mobile/guestbook.php 中将$_SERVER['HTTP_USER_AGENT']删掉了。分析一下,这里是手机端的留言板,destoon将用户的User-Agent放入了留言内容变量$post[content]中。

而据我对destoon的了解,其全局对GPC做了转义和WAF,但User-Agent没有进行过滤,所以这里有可能存在一个SQL注入漏洞。

所以往后看看吧,其调用了guestbook类的add方法,将$post变量传入:

function add($post) {
    $post = $this->set($post);
    $sqlk = $sqlv = '';
    foreach($post as $k=>$v) {
        if(in_array($k, $this-&g...

阅读全文>>

Python 格式化字符串漏洞(Django为例)

作者: 分类: 网络安全 时间: 2017-1-5 16:27 评论: 1条评论 浏览: 556人看过 标签: python安全 django 字符串格式化漏洞

原文我发表在先知技术社区: https://xianzhi.aliyun.com/forum/read/615.html ,转载请联系阿里云Aliyun_xianzhi@service.alibaba.com 。本文涉及版权问题,侵权者后果自负。


在C语言里有一类特别有趣的漏洞,格式化字符串漏洞。轻则破坏内存,重则读写任意地址内容,二进制的内容我就不说了,说也不懂,分享个链接 https://github.com/shiyanlou/seedlab/blob/master/formatstring.md

Python中的格式化字符串

Python中也有格式化字符串的方法,在Python2老版本中使用如下方法格式化字符串:

"My name is %s" % ('phithon', )
"My name is %(name)%" % {'name':'phithon'} 

后面为字符串对象增加了format方法,改进后的格式化字符串用法为:

"My name is {}".format('phithon')
"My na...

阅读全文>>

谈一谈复杂的正则表达式分析

作者: 分类: 网络安全 时间: 2016-12-28 1:19 评论: 1条评论 浏览: 1367人看过 标签: 正则表达式

PHPMailer里面对于Email的正则表达式让很多人看了头疼,其实我看了也头疼,但借助一些工具,加上一些经验,还是能慢慢把有效信息剥离出来的。

首先推荐一个分析正则表达式的网站 https://regex101.com/ 。之前的很多网站,遇到今天这个正则表达式就都蔫儿了,实际上正则表达式的语法也不尽相同,比如PHP的正则和JavaScript就有区别,所以一定要找对正则表达式分析引擎。

regex101就可以选择多个正则表达式引擎,我这里选择pcre(php): https://regex101.com/r/aGGWWw/2

sp161228_014557.png

这个网站的诸多好处,自己使用去体会吧。

我们首先输入我们需要分析的正则表达式,然后慢慢分析。


(?1)的分析

这个正则表达式看似很长很乱,其实主要用到的也就是下面三种语法:

(?!xxx)断言,匹配后面不是xxx的位置

(?>xxx)一次性子组 ,见 http://php.net/manual/zh/regexp.reference.onlyonce.php

(?n)子匹配,等同于第n组正则

先来分...

阅读全文>>

PHPMailer 代码执行漏洞(CVE-2016-10033)分析(含通用POC)

作者: 分类: 网络安全 时间: 2016-12-27 17:46 评论: 0条评论 浏览: 3310人看过 标签: mail CVE-2016-10033

对比一下新老版本: https://github.com/PHPMailer/PHPMailer/compare/v5.2.17...master

14827395246777.jpg

其实答案呼之欲出了——和Roundcube的RCE类似,mail函数的第五个参数,传命令参数的地方没有进行转义。

回顾一下当时Roundcube的漏洞:因为mail函数最终是调用的系统的sendmail进行邮件发送,而sendmail支持-X参数,通过这个参数可以将日志写入指定文件。可以写文件,当然就可以写shell,造成RCE了。

详细分析一下,下载一份源码,并切换到5.2.17版本:

git clone https://github.com/PHPMailer/PHPMailer
cd PHPMailer
git checkout -b CVE-2016-10033 v5.2.17 

单步调试可以发现确实和之前Roundcube出现的漏洞( http://wiki.ioin.in/search?word=roundcube )一样,是传给mail函数的第五个参数没有正确过滤:

14827421313172.jpg

但上图是错的...

阅读全文>>

Bottle HTTP 头注入漏洞探究

作者: 分类: 网络安全 时间: 2016-12-22 0:42 评论: 1条评论 浏览: 1289人看过 标签: CRLF python安全 Bottle

今天看到两个头注入,一个ASP.NET的 http://seclists.org/bugtraq/2016/Dec/43 ,一个Bottle的。

漏洞分析

这几天更新的bottle,修复了一个漏洞(CVE-2016-9964),介绍是这样说的

It was discovered that bottle, a WSGI-framework for the Python
programming language, did not properly filter "\r\n" sequences when
handling redirections. This allowed an attacker to perform CRLF
attacks such as HTTP header injection.

分析一下,实际上和redirect没有太大关系,只要是能设置HTTP返回头的地方,都存在头注入的问题。先看github的fix: https://github.com/bottlepy/bottle/commit/6d7e13da0f998820800ecb3fe9ccee4189aefb54https://github.com/bottlepy/bottle/commit/3f838d...

阅读全文>>

Pwnhub Web题Classroom题解与分析

作者: 分类: 网络安全 时间: 2016-12-6 0:53 评论: 5条评论 浏览: 3079人看过 标签: ctf django pwnhub

Pwnhub 是一个面向安全研究人员的CTF对战平台,更官方一点的解释就是一个以各种安全技术为内容的竞赛平台。经过我们团队数个月的酝酿终于上线了。上线伊始,我出了一道Web题目,名字叫Classroom。

0x01 寻找源码

打开目标( http://54.223.46.206:8003/ )可以看到,一个登录页面。据我长期观察,50%的CTF题目打开都是一个登陆页面,而其中又有60%的可以用各种方式拿到源码。

虽然上面两个百分比是我编的,但这种题目找到源码的概率比较大。先打开burp看看数据包:

14809540240989.jpg

一共四个包,第一个包是一个302跳转,跳转到第二个包,也就是登录页面;第二个包就是登录页面,其中包含了一个ico(图标)和一个js;第三个包是js;第四个包是ico。

上图是js的数据包,观察一下,发现了两个信息:

  1. Server: gunicorn/19.6.0 Django/1.10.3 CPython/3.5.2
  2. Content-Type: text/plain

第一个Server头表明了这个网站是用...

阅读全文>>

Mooder团队内部贡献平台

作者: 分类: 资源分享 时间: 2016-10-23 21:12 评论: 13条评论 浏览: 2539人看过 标签: django mooder 团队

小介绍:Mooder是一款开源、安全、简洁、强大的(安全)团队内部知识分享平台,基于Django、全封闭保证私密性、支持Markdown、支持Postgres/Mysql/Sqlite等多种数据库、支持Docker-compose一键化安装与更新,易于二次开发。

今天开源的一个小玩意,上个月到这个月陆陆续续写的,这几天下班以后也会写几行这个,进行产品上的微调,然后修一些BUG。本来是给自己团队写的一个东西,但想想感觉应该有很多团队都需要这个,于是就开源了。

项目地址: https://github.com/phith0n/mooder

文档地址: https://phith0n.github.io/mooder/

为什么会有Mooder

有的人把Mooder理解为一个漏洞平台:团队成员可以提交漏洞,管理员进行审核与评分,最后能够兑换礼品或兑换其他人的漏洞。

但我把它理解为一个“团队贡献”平台,绝不是分享漏洞,而是分享知识。最初我在设计Minos的时候就有这样的想法,只可惜后面走偏了,把Minos做成一个社区了。后来我想想,还是需要这么一个东西,于是我又写了Mooder。

一个团队需要有自己独一无二的内容,才能吸引更多人才,而这个平台将是承载这些内容的载体。

做Mooder的初衷是为了团队内部的交流。由...

阅读全文>>

Django DeleteView without confirmation template, but with CSRF attack

作者: 分类: Python 时间: 2016-10-14 0:41 评论: 1条评论 浏览: 1487人看过 标签: CSRF漏洞 django

    随便写点东西吧。

    Django的Class based view十分好用,也很灵活。其中DeleteView( https://docs.djangoproject.com/en/1.10/ref/class-based-views/generic-editing/#django.views.generic.edit.DeleteView )有点特别蛋疼的,他理想的流程是这样:点击删除 -> 跳转到确认页面 -> 点击确认删除 -> 删除对象 -> 跳转到success_url。

    这样导致删除的流程特别麻烦,特别是这个“确认页面”:

    sp161014_034704.png

    因为“删除”是一个敏感操作,所以一定要有CSRF防御,所以点击上图这个“是的,我确认”按钮以后,会发送一个POST请求到后端的。Django会自动检查CSRF TOKEN。但实际上,我们也可以操作JavaScript向后端发送PO...

阅读全文>>

谈一谈如何在Python开发中拒绝SSRF漏洞

作者: 分类: Python 时间: 2016-9-30 15:26 评论: 7条评论 浏览: 2068人看过 标签: python ssrf漏洞 requests

0x01 SSRF漏洞常见防御手法及绕过方法

SSRF是一种常见的Web漏洞,通常存在于需要请求外部内容的逻辑中,比如本地化网络图片、XML解析时的外部实体注入、软件的离线下载等。当攻击者传入一个未经验证的URL,后端代码直接请求这个URL,将会造成SSRF漏洞。

具体危害体现在以下几点上:

  • URL为内网IP或域名,攻击者将可以通过SSRF漏洞扫描目标内网,查找内网内的漏洞,并想办法反弹权限
  • URL中包含端口,攻击者将可以扫描并发现内网中机器的其他服务,再进一步进行利用
  • 当请求方法允许其他协议的时候,将可能利用gophar、file等协议进行第三方服务利用,如利用内网的redis获取权限、利用fastcgi进行getshell等

特别是这两年,大量利用SSRF攻击内网服务的案例被爆出来,导致SSRF漏洞慢慢受到重视。这就给Web应用开发者提出了一个难题:如何在保证业务正常的情况下防御SSRF漏洞?

很多开发者认为,只要检查一下请求url的host不为内网IP,即可防御SSRF。这个观点其实提出了两个技术要点:

  1. ...

阅读全文>>

Top ↑ sitemap More