0ctf2017 web题目总结
前言周末没来得及好好做做0ctf,现在整理学习一下~~ complicated xss题目介绍有两个网站,government.vip和admin.government.vip:8000。 漏洞也有两个: government.vip xss 没防护 admin.government.vip:8000网站cookie中的username可以xss。有个sandbox防护~ 最终需要有admin权限上传shell~ 设置子域cookie根据上面两个漏洞,可以得到大致思路:通过government.vip网站,设置admin.government.vip:8000中的usernamecookie(里面是我们构造好的Payload)。然后,让管理员转到admin.government.vip: ...
阅读更多
S2-046分析(CVE-2017-5638)
0x00 漏洞简介今天出现了新的S2-46漏洞,看了下和S2-045漏洞很相似。最终的利用函数也是一样的,具体请参考我之前的分析http://paper.seebug.org/241/。 这里,我记录下这个漏洞调试的几个点,和关键地方。 官方公告,请看http://struts.apache.org/docs/s2-046.html 仔细阅读漏洞描述: ProblemIt is possible to perform a RCE attack with a malicious Content-Disposition value or with improper Content-Length header. If the Content-Dispostion / Content-Length ...
阅读更多
Pwnhub知识总结
0x00 前言pwnhub的题目出的都挺好,强烈推荐网址:https://pwnhub.cn/。 基本都没做到最后,复现了一下。记录学习到的知识 0x01 另一份文件这题flag就在upload文件夹下。只是php的权限删不掉它。Glob是按字母顺序排序的,上传比flag文件名靠后的文件名。这样就能通过是否上传成功来判断Flag的文件名。 脚本: 123456789101112131415161718192021222324252627282930__author__ = 'angelwhu'import requestsimport stringdef getz(): ''' str_printable = string.printable print str_print ...
阅读更多
第七季极客大挑战writeup和swup web400
php is fun源码审计,感觉我还是比较喜欢做审计的题目,不用脑筋~~ 12345678910111213141516171819<?phpif(isset($_GET) && !empty($_GET)){ $url = $_GET['file']; $path = "upload/".$_GET['path'];}else{ show_source(__FILE__); exit();}if(strpos($path,'..') > -1){ die('SYCwaf!');}if(strpos($url,'http://127.0.0.1/') === 0){ ...
阅读更多
tomcat本地提权(CVE-2016-1240重现分析)
0x00 简单复现漏洞相关描述,请参考链接3。 tomcat本地提权漏洞,准确来说应该是Debian系统给的一个启动脚本有问题。这让我学习到了一种新的漏洞攻击形式。由于之前对shell脚本有所了解,决定通读一下漏洞POC。学习一下漏洞利用知识。 首先,用apt-get安装tomcat6(官方似乎没管tomcat6,依然存在漏洞) 安装并且给tomcat6用户赋予密码和bash: 123sudo usermod -s /bin/bash tomcat6passwd tomcat6su -l tomcat6 运行POC提权 运行链接3中给的POC。重启下tomcat服务,即可获得root shell。 1$ ./ tomcat_CVE-2016-1240.sh /var/lib/tomc ...
阅读更多
pwn 学习总结
0x00 记录下学习过程首先,安天实验室几个pwn专题的实验不错。学习了下,当做入门。 入门之后,找到了练手的好地方:http://pwnable.kr/,这个网站的题目真的很不错。先做简单的,一般都能从网上搜到思路。然后,自己分析写写exp。 接下来,我记录下pwnable.kr上的几个简单题目。 0x01 bof最简单的栈溢出,源码都给了: 123456789101112131415161718#include <stdio.h>#include <string.h>#include <stdlib.h>void func(int key){ char overflowme[32]; printf("overflow me : " ...
阅读更多
wargame.kr 题目writeup
adm1nkyj链接: http://wargame.kr:8080/adm1nkyj/ 这题id和pw参数存在注入,关键在于不知道表的列名,如何绕过得到其中的pw和flag数据? 1234if(preg_match("/information|schema|user/i", $id) || substr_count($id,"(") > 1) exit("no hack");if(preg_match("/information|schema|user/i", $pw) || substr_count($pw,"(") > 1) exit("no hack");mysql_query("SELECT * FROM findflag_2 WHERE $id_column=' ...
阅读更多
java反序列化工具ysoserial分析
0x00 前言由于乌云知识库暂时不能看了,把我之前投稿的文章在博客上发一下。 关于java反序列化漏洞的原理分析,基本都是在分析使用Apache Commons Collections这个库,造成的反序列化问题。然而,在下载老外的ysoserial工具并仔细看看后,我发现了许多值得学习的知识。 至少能学到如下内容: 不同反序列化payload玩法 灵活运用了反射机制和动态代理机制构造POC java反序列化不仅是有Apache Commons Collections这样一种玩法。还有如下payload玩法: CommonsBeanutilsCollectionsLogging1所需第三方库文件: commons-beanutils:1.9.2,commons-collections:3 ...
阅读更多
python urllib SSRF攻击Redis
0x00 测试环境docker环境: 12redis_3.2.1:image: redis:3.2.1 容器内网ip为192.168.0.7,直接内网访问6379端口。 0x01 如何攻击Redis两种方案,具体看参考链接。原理都是一样的,写文件到目标目录。 1234CONFIG SET dir /tmpCONFIG SET dbfilename evil //这一步可以将db设置为/tmp/evil,可以控制文件里面的部分数据了。SET foo barSAVE 上述Redis命令可以使key-value数据保存在/tmp/evil文件中,也就是我们可以控制里面的部分内容: 0x02 Python urllib HTTP头注入简单使用一下代码测试访问url: 1234import url ...
阅读更多
CTF题目相关漏洞总结(CBC模式加密,opcache,LD_PRELOAD)
0x00 php7 opcache执行 PHP 代码1. 环境配置文章介绍:http://drops.wooyun.org/web/15450http://blog.gosecure.ca/2016/04/27/binary-webshell-through-opcache-in-php-7/ 使用docker拉取php:7.0.8-apache镜像,配置使用opcache。php7默认安装了opcache,这里只需要修改下php.ini文件: 123456[opcache]zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20151012/opcache.soopcache.enable=1opcache.valid ...
阅读更多