从语雀迁移的技术文章。
聊聊PHP中的弱类型
PHP代码审计中常见的一种技巧:弱类型,英文名叫type Juggling,基本的概念如下: PHP 8 以前,在使用==比较或任何有弱类型转换的情况时,字符串都会先被转换成数字,再和数字进行比较。 ...
从语雀迁移的技术文章。
PHP代码审计中常见的一种技巧:弱类型,英文名叫type Juggling,基本的概念如下: PHP 8 以前,在使用==比较或任何有弱类型转换的情况时,字符串都会先被转换成数字,再和数字进行比较。 ...
本文主要介绍SSRF漏洞受到各种限制时,常见的绕过姿势。 (图片来自 SSRF漏洞Bypass技巧) 0x00 URL scheme 第一部分:协议名(以单个冒号结束) 第二部分:用户信息 也就是账号密码!(登陆ftp时常用) 第三部分:主机名(也就是域名) 第四部分:端口 第五部分:查询内容,包含【path+param】,这里有个bug。应该是?号后的内容才是查询! 第六部分:Fragment ID(不会发送到服务器!) 1.提取协议名: ...
Flask开启debug模式等于给黑客留了后门,就Flask在生产网络中开启debug模式可能产生的安全问题做了一个简要的分析。其中有一个比较严重的安全问题是,可以在交互式Python shell中执行自定义Python代码。就这一点来讲,在旧版本的Flask中是不需要输入PIN码认证就可以执行代码,其危害不言而喻。 在新版本的Flask中需要输入PIN码进行认证,才能执行自定义代码,于攻击者来说,这显然有点鸡肋了。 ...
代码审计笔记 limit参数鸡肋注入 app/article/action/api/list.php#L28 PoC 调试, 可以看到limit参数已经被完整带入了, 只不过由于mysqli_query无法执行多语句查询而显得鸡肋罢了… ...
本文站在安全工程师的角度,分析了PHP中SSRF的成因及修复方案。通过在vps上作实验,介绍不同成因导致的SSRF漏洞的危害和限制,并在最后给出安全编码的示例。 ...
安装Docker 略,参考CentOS Docker 安装来操作即可 curl -sSL https://get.daocloud.io/docker | sh 卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 注意:需要开启<font style="color:#000000;">iptables</font> service iptables restart 重启docker service docker restart 编写Dockerfile 寻找初始环境 Dockerfile里的第一行,就是你CTF题的初始环境。如下所示, FROM drupalci/php-5.5.38-apache:dev 代表的就是从hub.docker.com/r/drupalci/php-5.5.38-apache拉的镜像作为初始环境。 那这个初始环境到哪里去找呢? 只需要在https://hub.docker.com里搜索合适的版本即可。此处要注意必须写出<font style="color:#000000;">tag</font>,也就是上面冒号后面的<font style="color:#000000;">dev</font>,它指明了镜像里中间件的版本,常见的<font style="color:#000000;">tag</font>是<font style="color:#000000;">latest</font>。 调整环境参数 有时候,在不同的环境下,我们需要更改中间件的配置,如Apache的配置文件<font style="color:#000000;">apache2.conf</font>、PHP的配置文件<font style="color:#000000;">php.ini</font>,那么就需要在Dockerfile里进行相应的编写。 下面给出常用的命令写法,更多细节请移步=>如何用Dockerfile构建镜像 Dockerfile样例 # 第一行写跟第1点中一样的基本镜像 FROM drupalci/php-5.5.38-apache:dev # 这里可以写上你的姓名/昵称 MAINTAINER unc1e # 这里可以写上你的制作时间 ENV REFRESHED_AT 2020年8月1日 # 使用utf-8编码 ENV LANG C.UTF-8 # 先写 修改源/更新 【如果必须的话】 # 替换源(这里可用sed或者直接COPY一个完整的sources.list来替换) RUN sed -i 's/http:\/\/archive.ubuntu.com\/ubuntu\//http:\/\/mirrors.163.com\/ubuntu\//g' /etc/apt/sources.list # 进行更新 RUN apt-get update -y # 将环境变量设置为非交互的 【这个看个人】,在运行apt-get命令的时候格外有用,因为它会不停提示用户进行到了哪步并且需要不断确认 # 非交互模式会选择默认的选项并以最快的速度完成构建。 # 注意:ENV命令在整个容器运行过程中都会生效,在你通过BASH和容器进行交互时,可能因此出问题 ENV DEBIAN_FRONTEND noninteractive # 修改一些配置 # 对于文件中的替换字符串,多使用sed命令 # 例如:去掉php响应头里的X-Powered-By RUN sed -i 's/expose_php = On/expose_php = Off/' /usr/local/etc/php/php.ini # 然后才是复制文件 # 不推荐挂载卷,因为常常需要将镜像导出为tar包文件 # ADD会自动解压压缩包,而COPY不会 ADD html.tgz /var/www # 剩下一些操作(权限要控制好) # 例如修改某个文件的所有者 RUN chown root:root /var/www/html/x.php # WORKDIR:设置CMD指明的命令的运行目录。 WORKDIR /var/www/html/ # 最后处理flag以及开机启动项 # flag的规范格式为flag{uuid格式} (如:flag{8ba868f2-71b6-477b-bc7a-255302c881e1} # 如有特殊情况请说明,但flag的格式至少需要有flag{},不接受其他类型格式。 # 默认flag的值存在flag.txt, # 如果flag是在数据库里,请记得把flag所在的字段长度设置为大于42 # 把flag.txt复制到/root/flag.txt COPY flag.txt /root/flag.txt # start.sh为开机启动脚本,里面包含容器开启后要启动的命令 COPY start.sh /root/start.sh # 加上执行权限 RUN chmod +x /root/start.sh # ENTRYPOINT:配置容器启动时的执行命令(不会被忽略,一定会被执行) # 建议使用ENTRYPOINT而不使用CMD,因为CMD容易受最后的RUN命令影响 ENTRYPOINT cd /root; ./start.sh # WEB开放端口默认为80,一般为一个,若有特殊情况,请写明 # 有文章指出:EXPOSE 指令是声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务。文章来源是https://www.jianshu.com/p/78f4591b7ff0 EXPOSE 80 ...
语雀导出设置 WordPress设置 使用markdown插件 插件的名字叫:Editor.md 插件的高亮效果如下图所示 改header.php 在这里需要注意: 否则会出现在html中通过img标签引入的图片会报403。但是这个图片地址直接复制出来在地址栏打开,却是看得到的。这就是referer来源地址的问题 ...
某次渗透中遇到了rsync,是带密码的,虽然已经有爆破脚本了(例如cdxy前辈在POC-T框架中写的这一个),但前辈的脚本是py2的, 于是想着改写成py3,没想到还顺便分析了一下rsync的认证方式。下面就简单记录一下 ...
本文已参与阿里云先知社区的投稿。原创内容,转载请注明出处。 前言 一个平平无奇的周末,哥们儿发来消息,说自己手上有个产品安全测试搞不定,想让我帮帮忙——本来是不乐意的,但海底捞实在是香,所以有了这次受委托的产品安全测试。 ...
每季度一次的“专项学习”,选择了老生常谈的主题:DDoS,希望可以给各位带来一些启发。 为避免各位看官太长不看,我直接上结论: DDoS攻击的防护,是一项系统工程,没有一种方法绝对有效,是为No silver bullet。简单来说,系统架构、基础设施流量、业务逻辑、灾难预案等方面,在防DDoS方面均要下功夫。可参考本文的遇到DoS时怎么办部分 攻击趋势 常见的DDoS:SYN大包攻击(核心原理:资源耗尽)、TCP/UDP反射型(核心原理:源IP伪造) 游戏仍然是DDoS攻击最集中的行业,占整体分布的39%,另外直播、电商等行业也成为DDoS攻击的新目标 **已备案的正规业务,如果被DDoS的流量在100G以上,可以报案。**可参考本文的4 反制溯源部分 一、DDoS是什么 DDOS(Distributed Denial of Service),又称分布式拒绝服务攻击。骇客通过控制多个肉鸡或服务器组成的僵尸网络,对目标发送大量看似合法请求,从而占用大量网络资源,瘫痪网络,阻止用户对网络资源的正常访问。 ...