web58123456if(isset($_POST['c'])){ $c= $_POST['c']; eval($c);}else{ highlight_file(__FILE__);} 正常来说,看到这个格式,我们第一个想到的就是使用system然后命令执行,但是当我们尝试使用时会发现:这是因为php.ini配置中默认禁用了执行系统外部命令函数,但是这里我们可以用php内置函数来读取文件,因此这部分学习的时php相关函数的使用。我们需要先查看当前目录。c=print_r(glob("*"));或者c=print_r(scandir('.'));(注意两者的返回数组内容不同)我们直接显示代码就行。post传参,c=highlight_file('flag.php');或者show_source(__FILE__); web59-65题可能出错了,和58一模一样… web66123456if(isset($_POST['c']) ...
web42123456if(isset($_GET['c'])){ $c=$_GET['c']; system($c." >/dev/null 2>&1");}else{ highlight_file(__FILE__);} 在变量后面拼接了一堆字符串。在此之前,我们需要先思考这一串是什么东西。 1>/dev/null 2>&1 就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。因此这个也被成为数据黑洞(还是很形象的)。这部分的bypass是双写,让后面的指令结果进入黑洞,但是保全前面的命令。比如说:?c=ls;ls,这就出现了运行结果。于是payload也就很容易得到了:?c=tac ...
web2912345678910error_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); } }else{ highlight_file(__FILE__);} 很简单的一道题。?c=system("ls");查看一下发现flag.php就在当前目录下,因为过滤了flag字节,所以直接用f*代替就行payload:?c=system("cat f*");flag在源代码中。 其他解法 除此之外,我们可以将文件复制一份修改为其他名字。 payload:?c=system("cp f* a.txt");然后直接访问或者cat访问都可以获得flag。 或者使用tac从后往前输出内容c=system("tac f*&q ...
相关文章及参考资料 暴力破解(生成字典、爆破服务、爆破登录、解密、BurpSuite工具讲解) PS做完了我才发现这些题的字典实在web21里面需要下载… web21 爆破什么的,都是基操 burpsuite爆破:https://www.cnblogs.com/007NBqaq/p/13220297.html 直接展示登陆界面,随便输点什么,抓包,可以发现把账号密码放在了请求头中,并且根据末尾的==可以看出是base64加密,因此我们直接尝试Intruder模块爆破。原理我们都懂,但是我们该如何操作呢? 方案一 burpsuite爆破将请求转入intruder,因为会拼接payload,所以使用基本的sniper类型就行,在payload sets里面修改payload tpe为Custom Interator,并且在payload option中按照顺序修改三个position。而且我们观察可以注意到,我们还需要将payload使用base64加密,因此在payload processing里面添加转换:最后再将末尾的转义关闭。这种情况下爆破即可。 方 ...
web1 开发注释未及时删除 直接f12源代码内存在flag web2 js前台拦截 === 无效操作 虽然禁止了右键和f12来打开开发者模式,但是chrome可以在更多工具中找到开发工具并打开。flag在源代码中。 others看了wp之后发现还有几种方法: 在url前面加上view-source: 下载源码 在很短的时间内按f5和f12 ctrl + U查看源代码 打开一个空白网页,然后按F12,接着再把网址复制进去并回车 web3 没思路的时候抓个包看看,可能会有意外收获 直接burpsuite抓包,返回包中在请求头中存在flag。 web4 总有人把后台地址写入robots,帮黑阔大佬们引路。 提示的已经很明显了,访问对应的反爬robots页面:/robots.txt再次访问对应页面,得到flag。 web5 phps源码泄露有时候能帮上忙 根据提示,这道题估计需要扫备份文件了。因此尝试去扫,但是换了好几个软件都没有扫到,看了wp,发现是:index.phps文件。访问对应地址下载文件,可以看到flag。 web6 解压源码到当前目录 ...
准备材料: phpstudy:https://www.xp.cn/download.html uploads-lab:https://gitcode.net/mirrors/tj1ngwe1/upload-labs?utm_source=csdn_github_accelerator uploads-lab的搭建uploads-lab下载为zip文件,并解压在phpstudy下的www文件夹内,注意将文件夹重命名为uploads-lab。解压成功后访问 http://127.0.0.1/upload-labs 打开即可(PS:部分人burpsuite可能使用本机地址无法抓包,建议127.0.0.1修改为本机地址!) Pass-01任务:上传一个webshell到服务器。首先先尝试直接传一个一句话木马webshell.php 123<?php eval(_POST[1]);?> 上传失败,提示:该文件不允许上传,请上传.jpg|.png|.gif类型的文件,当前文件类型为:.php查看源码: 1234567891011121314151617function ...
WP原文:https://rb61qxxiv7.feishu.cn/docs/doccnFcZA8xHDlJNUFQs4QEXqvg# 就做出来了一个ezphp,而且还是靠google原题嗯抄的,学习之路真是任重而道远。 WEBbabyPHP123456789101112131415<?phphighlight_file(__FILE__);error_reporting(0);$num = $_GET['num'];if (preg_match("/\'|\"|\`| |<|>|?|\^|%|\$/", $num)) { die("nononno");}if (eval("return ${num} != 2;") && $num == 0 && is_numeric($num) != true) { system('cat flag.php ...
Lupas
未读备忘一下。 段落文本 p标签语法配置参数样式预览示例源码1{% p 样式参数(参数以空格划分), 文本内容 %} 字体: logo, code 颜色: red,yellow,green,cyan,blue,gray 大小: small, h4, h3, h2, h1, large, huge, ultra 对齐方向: left, center, right 彩色文字在一段话中方便插入各种颜色的标签,包括:红色、黄色、绿色、青色、蓝色、灰色。 超大号文字文档「开始」页面中的标题部分就是超大号文字。Volantis A Wonderful Theme for Hexo 123456- 彩色文字 在一段话中方便插入各种颜色的标签,包括:{% p red, 红色 %}、{% p yellow, 黄色 %}、{% p green, 绿色 %}、{% p cyan, 青色 %}、{% p blue, 蓝色 %}、{% p gray, 灰色 %}。- 超大号 ...