@Unc1e UNC.LA
你好,我是 @Unc1e。
做网络安全,也写一点工程实践、工作和生活。
这里是我的个人主页。文章认真写,项目慢慢做;偶尔也放一些自己觉得有意思的小东西。
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),又称分布式拒绝服务攻击。骇客通过控制多个肉鸡或服务器组成的僵尸网络,对目标发送大量看似合法请求,从而占用大量网络资源,瘫痪网络,阻止用户对网络资源的正常访问。 ...
Entry point nmap $ nmap -p- -sC -sV -Pn 10.10.10.56 -oA allport Nmap scan report for 10.10.10.56 Host is up (0.0037s latency). Not shown: 65533 closed ports PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) |_http-server-header: Apache/2.4.18 (Ubuntu) |_http-title: Site doesn't have a title (text/html). 2222/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 c4:f8:ad:e8:f8:04:77:de:cf:15:0d:63:0a:18:7e:49 (RSA) | 256 22:8f:b1:97:bf:0f:17:08:fc:7e:2c:8f:e9:77:3a:48 (ECDSA) |_ 256 e6:ac:27:a3:b5:a9:f1:12:3c:34:a5:5d:5b:eb:3d:e9 (ED25519) Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel hydra to brute SSH using fastrack.txt, nothing to gain. /cgi-bin/ using binwalk and file, got nothing special dir searching python3 dirsearch.py -u http://10.10.10.56/ -e * _|. _ _ _ _ _ _|_ v0.3.9 (_||| _) (/_(_|| (_| ) Extensions: | HTTP method: getSuffixes: CHANGELOG.md | HTTP method: get | Threads: 10 | Wordlist size: 6564 | Request count: 6564 Error Log: /opt/dirsearch/logs/errors-20-07-07_23-26-11.log Target: http://10.10.10.56/ Output File: /opt/dirsearch/reports/10.10.10.56/20-07-07_23-26-16 [23:26:16] Starting: [23:28:27] 403 - 299B - /.htaccess-dev [23:28:27] 403 - 301B - /.htaccess-local [23:28:27] 403 - 301B - /.htaccess-marco [23:28:28] 403 - 298B - /.htaccessBAK [23:28:28] 403 - 299B - /.htaccess.txt [23:28:28] 403 - 302B - /.htaccess.sample [23:28:28] 403 - 299B - /.htaccess.old [23:28:28] 403 - 300B - /.htaccess.orig [23:28:28] 403 - 300B - /.htaccess.save [23:28:28] 403 - 300B - /.htaccess.bak1 [23:28:28] 403 - 298B - /.htaccessOLD [23:28:28] 403 - 299B - /.htaccessOLD2 [23:28:28] 403 - 299B - /.htpasswd-old [23:28:28] 403 - 297B - /.httr-oauth [23:34:58] 403 - 294B - /cgi-bin/ after obtaining these, no progress. ...
10.10.10.100 Nmap # nmap -p- -sC -sV -oA allport.nmap 10.10.10.100 Nmap scan report for 10.10.10.100 Host is up (0.0036s latency). Not shown: 65512 closed ports PORT STATE SERVICE VERSION 53/tcp open domain Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1) | dns-nsid: |_ bind.version: Microsoft DNS 6.1.7601 (1DB15D39) 88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2020-06-27 14:12:30Z) 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows netbios-ssn 389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: active.htb, Site: Default-First-Site-Name) 445/tcp open microsoft-ds? 464/tcp open tcpwrapped 593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0 636/tcp open tcpwrapped 3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: active.htb, Site: Default-First-Site-Name) 3269/tcp open tcpwrapped 5722/tcp open msrpc Microsoft Windows RPC 9389/tcp open mc-nmf .NET Message Framing 47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |_http-server-header: Microsoft-HTTPAPI/2.0 |_http-title: Not Found 49152/tcp open msrpc Microsoft Windows RPC 49153/tcp open msrpc Microsoft Windows RPC 49154/tcp open msrpc Microsoft Windows RPC 49155/tcp open msrpc Microsoft Windows RPC 49157/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0 49158/tcp open msrpc Microsoft Windows RPC 49169/tcp open msrpc Microsoft Windows RPC 49171/tcp open msrpc Microsoft Windows RPC 49180/tcp open msrpc Microsoft Windows RPC Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows_server_2008:r2:sp1, cpe:/o:microsoft:windows Host script results: |_clock-skew: 2m57s | smb2-security-mode: | 2.02: |_ Message signing enabled and required | smb2-time: | date: 2020-06-27T14:13:29 |_ start_date: 2020-06-27T12:57:05 用enum4linux工具扫描,发现smb服务是开着的,且有开放的共享目录 ...