writeup
文章平均质量分 61
编者做题的writeup
学编程的小w
热爱编程,对Python爬虫以及安全领域较感兴趣,并正在做深入学习研究。
展开
-
“百度杯”CTF比赛 九月场-web123题
“百度杯”CTF比赛 九月场-web123题知识储备敏感信息泄露敏感信息泄露,是指存在一些备份文件未经处理,而保存在网站目录上,可以进行访问,获得一些信息。网站备份文件泄露常见后缀:.bak.html_index.html.swp.rar.txt.zip.7z.sql.tar.gz.tgz.tar网站备份文件泄露扫描工具:Test404网站备份文件扫描器 v2.0(win)ihoneyBakFileScan(python) ihoneyBakFile原创 2021-12-29 09:08:14 · 512 阅读 · 0 评论 -
web文件上传-0x00漏洞
文件上传-0x00漏洞题目:2016全国大学生信息安全竞赛-web文件上传原理0x00漏洞:也称为%00阻断漏洞,0x00漏洞常见于Apache服务器后缀名称解析漏洞,不管文件最后后缀为什么,只要是.php.*结尾,就会被Apache服务器解析成php文件,所以,只要是Apache服务器,就可以尝试通过此法,绕过服务器端检测文件后缀名实战打开2016全国大学生信息安全竞赛-web文件上传题目环境:发现存在文件上床点,尝试上传一个php后门文件:发现报错提醒只允许上传指定后缀名文件尝原创 2021-12-28 17:09:58 · 2920 阅读 · 0 评论 -
攻防世界-web2题
攻防世界-web2题进入靶场界面,可以看见加密源代码 <?php$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){ $_o=strrev($str); // echo $_o; for($_0=0;$_0<strlen($_o);$_0++){ $_c=substr($_o,$_0原创 2021-11-24 23:34:12 · 272 阅读 · 0 评论 -
攻防世界-mfw题
攻防世界-mfw题Git源码泄露assert函数漏洞题目分析Git源码泄露 开发人员会使用 git 进行版本控制,对站点自动部署。但如果配置不当,可能会将 .git 文件夹直接部署到线上环境,这就引起了 git 泄露漏洞,我们可以利用这个漏洞直接获得网页源码assert函数漏洞 assert()函数导致的代码执行漏洞大多是因为载入缓存或者模板以及对变量的处理不严格导致,比如直接把一个外部可控的参数拼接到模板里面,然后调用这两个函数去当成 PHP 代码执行。题目分析进入靶场后,发现网站存在三个原创 2021-11-24 23:23:15 · 3870 阅读 · 1 评论 -
攻防世界-ics-05题
ics-05题php伪协议题目分析:preg_replace函数漏洞:php伪协议常用方式:?file=php://filter/read=convert.base64-encode/resource=index.php用来查看index.php的源码。题目分析:进入后,点击设备维护中心(只有这一个可以点)查看源代码,可以看见存在一个参数为page,就在“云平台设备维护中心”:点击该处即可发现自己发现了新世界:首先判断是否存在文件包含漏洞:/index.php?page={{1+原创 2021-11-24 09:19:58 · 2793 阅读 · 0 评论 -
攻防世界-easytornado题
easytornado题tornado模块学习参考链接:Tornado小记 – 模板中的Handler分析题目进入第一个文件可发现flag所在文件:第二个文件没有什么有用的信息:第三个文件,可以看出给定了md5的加密方式:观察链接,直接将链接中的filename改为flag所在文件进行尝试:?filename=/fllllllllllllag&filehash=0b88d5e3e2bc6061140786d3484429a3界面显示error,则应该是链接出现某种错原创 2021-11-22 15:02:04 · 2351 阅读 · 0 评论 -
攻防世界-shrine题分析
shrine题目分析进入靶场后可以看见给出了源码,比较乱的话可以 ctrl+u查看源码:进行代码审计可以发现,这个网页是用flask模板写的,这时就很容易就联想到flask模板注入import flaskimport osapp = flask.Flask(__name__)app.config['FLAG'] = os.environ.pop('FLAG')@app.route('/')def index(): return open(__file__).read()原创 2021-11-21 17:17:26 · 986 阅读 · 0 评论 -
攻防世界-supersqli题
随便注handler执行handler基本语法:handler table_1_name open打开一个名为table_1_name的表的句柄handler table_1_name read first阅读表table_1_name 的第一行题目分析发现过滤了select|update|delete|drop|insert|where|. 这些字符,发现过滤了select之后就不能用select进行查询了首先尝试堆叠注入:发现了两个表,一个是words,一个是19198原创 2021-11-19 09:13:57 · 1042 阅读 · 0 评论 -
攻防世界- Web_php_unserialize题
Web_php_unserialize题首先进入靶场,可以直接看到php的源码:把代码拔下来进行分析代码审计 <?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_file原创 2021-11-18 16:02:35 · 518 阅读 · 0 评论 -
攻防世界-Web_python_template_injection题
flask基础SSTI:服务器端模板注入(Server-Side Template Injection)不正确的使用flask中的render_template_string方法会引发SSTI。SSTI文件读取/命令执行在Jinja2模板引擎中,{{}}是变量包裹标识符。{{}}并不仅仅可以传递变量,还可以执行一些简单的表达式。思路:找到父类<type 'object'>–>寻找子类–>找关于命令执行或者文件操作的模块。_class_ 返回类型所属的对象_mro原创 2021-11-18 10:56:30 · 2551 阅读 · 0 评论 -
攻防世界-unserialize3题
攻防世界-unserialize3题_wakeup()函数顾名思义,与sleep函数相对应,sleep函数用做睡眠,wake_up函数用作唤醒。在序列化和反序列化的过程中会经常用到wake_up函数,在反序列化时,即执行 unserialize() 函数时,会首先检查实例化对象中是否含有wake_up函数,若含有,则首先调用执行wake_up函数。wake_up函数的作用:经常用在反序列化操作中,例如重新建立数据库连接,或执行其它初始化操作。序列化:将对象转换成字符串。字符串包括 属性原创 2021-11-14 16:53:54 · 944 阅读 · 0 评论 -
攻防世界-PHP2题
攻防世界-PHP2题打开靶场网址后发现页面只有一句话:该语句的意思为:你能验证这个网站吗?常规操作,进行抓包,发现什么也没有抓到,进入index.php网址发现与当前界面相同,于是用御剑进行网址目录扫描:扫描后可以发现存在网址/index.phps(如果没有扫描到,则说明你需要在字典中加入这个网址)进入网址可看到页面的源代码,将源代码复制下来进行分析:进行代码审计,可以发现页面存在传入参数id,并且,如果id的值为admin,则输出not allowed,且直接结束:if("admin原创 2021-11-13 10:43:37 · 1054 阅读 · 0 评论 -
攻防世界-NaNNaNNaNNaN-Batman
攻防世界-NaNNaNNaNNaN-Batman分析下载附件后打开查看:通过审计代码发现,这是一个html网页代码,将其用浏览器打开发现:其显示结果是一个输入框和一个ok的按钮,这时,查看页面源码,但是其中的js代码出现了乱码,分析原因,发现是由于eval函数导致的,分析代码可以发现,_ 为定义的一个函数变量,而后续的eval函数传入的参数即为 _ ,所以,之所以出现乱码,是由于eval函数对变量 _ 的处理,那么,将eval换成alert函数,即可再页面弹窗处看到页面的源代码:将源原创 2021-11-13 09:09:53 · 307 阅读 · 0 评论 -
攻防世界-NewsCenter题
攻防世界-NewsCenter题首先,进入靶场网站,发现是一个News界面,并且界面存在一个搜索入口,此时的第一感觉就是,这道题应该是一道sql注入的题目(后来发现确实是这样)在搜索框输入一系列数字或字母进行搜索,可搜索出来一些News:打开HackBar,在POST请求值处的字符串末尾输入单引号,尝试是否能发生单引号闭合:发现请求的返回值为500,则说明该请求在服务器的数据库中发生了单引号闭合,导致数据库查询失败,这时已经可以实锤本题为数据库注入的题目了。首先,通过order语句,判断查询原创 2021-11-12 21:41:57 · 1529 阅读 · 0 评论 -
攻防世界-warmup题
攻防世界-warmup题打开靶场后发现为一张滑稽的图片:查看源代码:输入source.php查看页面源代码,进行代码审计:查看代码发现另外一个网址hint.php输入网址后发现提示flag不在这,在 ffffllllaaaagggg文件中继续查看代码发现输入网址中必须要有参数file,且file的值必须是字符串,且通过checkFile函数的检验:if (! empty($_REQUEST['file']) && is_string($_REQUEST[原创 2021-11-12 20:38:03 · 800 阅读 · 0 评论