.htaccess利用总结
基本概念.htaccess是Apache服务器中的一个配置文件,里面存放着Apache服务器配置相关的指令。通过.htaccess文件我们能实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许、阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。.htaccess中注释符有#且支持\拼接上下两行。 启动.htaccess我们需要将apache配置文件中的AllowOverride选项设置为All(默认为None) 需要注意的是.htaccess配置文件中的指令只对当前目录及其子目录生效,如果子目录也存在.htaccess文件,则子目录的配置优先于父目录,即子目录中的指令会覆盖父目录或者主配置中的指令。 常见使用方法访问控制可以设置允许或禁止所有IP访问某文件或者禁止某IP访问,文件名可使用通配符和正则表达式 123456# 禁止访问 .git、.env 等文件<FilesMatch "\.(env|git|sql|bak|ini)$"> Order allow,deny Deny from all ...
shell变量执行RCE
前言shell变量实现RCE这种思路最早提出于2017年34c3CTF里的minbashmaxfun,随后2020安洵杯也有Web-Bash-Vino0o0o 而处理这种类型的CTF,探姬师傅有个项目是可以一把梭的:https://github.com/ProbiusOfficial/bashFuck?tab=readme-ov-file bash的参考手册:https://www.gnu.org/software/bash/manual/bash.html shell脚本$的用法首先先了解下linux shell脚本中$的用法 变量名 含义 $0 脚本本身的名字 $1 脚本后所输入的第一串字符 $2 传递给该shell脚本的第二个参数 $* 脚本后所输入的所有字符’westos’ ‘linux’ ‘lyq’ $@ 脚本后所输入的所有字符’westos’ ‘linux’...
XXE学习
XMLXXE是基于XML的攻击,所以在学习XXE前需了解什么是XML。 简介XML(Extensible Markup Language):与HTML类似,是一种标记语言,但与HTML不同的是,XML 被设计用来传输和存储数据,而HTML 被设计用来显示数据。XML 仅仅是纯文本,更重要的是,通过 XML 可以发明自己的标签,因为 XML 没有预定义的标签。 作用 把数据从 HTML 分离 通过 XML,数据能够存储在独立的 XML 文件中。这样就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。 简化数据共享 XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。 这让创建不同应用程序可以共享的数据变得更加容易。 简化数据传输 通过XML,可以在不兼容的系统之间轻松的交换数据。 简化平台的变更 升级到新的系统(硬件或软件平台),总是非常费时的。必须转换大量的数据,不兼容的数据经常会丢失。 XML 数据以文本格式存储。这使得 XML...
flask session伪造
session机制由于HTTP本身是一种无状态的协议,意味着用户向我们的应用提供了用户名和密码来进行用户认证,认证通过后HTTP协议不会记录下认证后的状态,那么下一次请求时,用户还要再一次进行认证,因为根据HTTP协议,我们并不知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在用户首次登录成功后,在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求来自哪个用户了,这是传统的基于session认证的过程 flask session存储方式分为两种: 直接存储在客户端的cookies中,而这样会产生一定的安全问题 存储在服务端,如:redis,memcached,mysql等等 flask...
HGAME2025 week1
Pacmanjs前端题,发现两个可疑的gift: 12aGFldTRlcGNhXzR0cmdte19yX2Ftbm1zZX0=aGFlcGFpZW1rc3ByZXRnbXtydGNfYWVfZWZjfQ== 分别base64解码: 12haeu4epca_4trgm{_r_amnmse}haepaiemkspretgm{rtc_ae_efc} 随波逐流直接梭,是个栅栏加密: 第一个为真flag BandBomb1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889const express = require('express');const multer = require('multer');const fs...










