CTF夺旗-Python-支付逻辑&JWT&反序列化
CTF夺旗-Python-Flask&jinja2&SSTI模版注入
CTF夺旗-Python-格式化字符串漏洞&读取对象
https://jwt.io/ jwt在线解密
https://buuoj.cn/ 比赛平台
https://www.bugku.com/ ctf库
https://www.ctfhub.com/ ctf题
https://www.xuenixiang.com ctf靶场、逆向
https:/xz.aliyun.com/t/3569 Python Web之flask session&格式化字符串漏洞
https://xz.aliyun.com/t/7746 SSTI模板注入(Python+Jinja2)
https://gathub.com/CTFd/CTFd ctf
https://github.com/CTFTraining ctf环境库
https://github.com/epinna/tplmap 注入
https://github.com/bit4woo/python_sec python渗透策略,目录
https://github.com/brendan-rius/c-jwt-cracker JWT cracker
https://www.cnblogs.com/iloveacm/category/1791836.html CTF知识点
1 Bugku ctf变量1
2 php的弱类型比较问题
3 php断言(assert)
4 php读取目录下文件的方法
5 preg_match绕过
6 PHP中sha1()函数和md5()
1 异或注入
2 updatexml()函数报错注入
3 源文件泄露利用
4 extract变量覆盖
5 strcmp()漏洞
6 md5()漏洞
7 ereg()截断漏洞
8 弱类型整数大小比较绕过
1 命令执行
2 md5()漏洞
3 escapeshellarg()与escapeshellcmd()
4 sql注入绕过关键字
5 preg_replace/e的命令执行漏洞
6 MYSQL特殊模式
7 PHP字符串解析特性
https://www.cnblogs.com/Mrsm1th/p/6745532.html
=== 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较
== 在进行比较的时候,会先将字符串类型转化成相同,再比较
//对函数类型有限制
<?php
$num=$_GET['num'];
if (!is_numeric($num)){
echo $num;
if($num==l)
echo 'flag{*****flag****} ';
?>
//indexl.php?num=1x
//indexl.php?num=1%0a
https://www.cnblogs.com/v01cano/p/11736722.html
方法1:异或
方法2:取反
方法3:数组
方法4: PCRE
方法5∶换行符
//过滤关键字,过滤函数
error_reporting(0);
if(!isset($_GET['code'])){
highlight_filei(__FILE__);
}else {
$code =$_GET['code']:
if(preg_match('/(f|l|a|g|\.|p|h|\/|;|\"|\'|\`|\||\[|\]|\_|=)/i',$code))
{
die('You are too good for me');
}
$blacklist=get_defined_functions()['internal'];
foreach ($blacklist as $blackitem){
if (preg_match ('/' . $blackitem . '/im',$code)) {
die('You deserve better') :
}
}
assert ($code) ;
}
https://www.cnblogs.com/iloveacm/category/1791836.html CTF知识点
https://buuoj.cn/challenges 靶场
https://www.ctfhub.com/#/challenge ctf
https://www.cnblogs.com/v01cano/p/11736722.html ctf中 preg_match 绕过技术 | 无字母数字的webshell
https://www.cnblogs.com/iloveacm/p/13687654.html 命令执行
考点技术: xxe,spel表达式,反序列化,文件安全,最新框架插件漏洞等设法间接给出源码或相关配置提示文件,间接性源码或直接源码体现等形式
https://www.cnblogs.com/xishaonian/p/7628153.html
00x1 .ng源码泄露
00x2 git源码泄露
00x3 .Ds_store文件泄漏
00x4 网站备份压缩文件
00x5 SVN导致文件泄露
00x6 WEB-INF/web. xml泄露
00x7 CVS泄漏
反编译,基础的Java代码认知及审计能力,熟悉相关最新的漏洞,常见漏洞等
知识点:下载漏洞利用,配置文件解析,Javaweb项目结构等
提示-下载漏洞-更换请求方法-获取源码配置文件-指向Flag-下载class-反编译
WEB-INF主要包含以下文件或目录:
/WEB-INF/web.xml: web应用程序配置文件,描述了servlet 和其他的应用组件配置及命名规则。
/WEB-INE/classes/:含了站点所有用的class文件,包括servlet class和非servlet class,他们不能包含在.jar文件中
/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/∶源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties:数据库配置文件
漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接查看或下载class文件,再通过反编译class文件,得到网站源码
第八条 按照对信息系统机密性、可用性、完整性等三方面要素的影响评估,漏洞风险发现与技术验证应遵循无害化原则:
(一)信息系统机密性无害化验证指导场景:
可实现非授权访问或用户权限越权,在完成非授权逻辑、越权逻辑验证时,不应再获取和留存用户信息和信息系统文件信息;
可执行数据库查询条件,在获得数据库实例、库表名称等信息证明时,不应再查询涉及个人信息、业务信息的详细数据;
可获得系统主机、设备高权限,在获得当前用户系统环境信息证明时,不应再获取其他用户数据和业务数据信息;
禁止利用当前主机或设备作为跳板,对目标网络内部区域进行扫描测试。
(二) 信息系统可用性无害化验证指导场景:
应充分估计目标网络、系统的安全冗余,不进行有可能导致目标网络、主机、设备瘫痪的大流量、大规模扫描;
禁止执行可导致本地、远程拒绝服务危害的技术验证用例; 禁止执行有可能导致整体业务逻辑扰动、有可能产生用户经济财产损失的技术验证用例。
(三) 信息系统完整性无害化验证指导场景:
可获得信息系统后台功能操作权限,在获得当前用户角色属性证明时,不应再利用系统功能实施编辑、增删、篡改等操作;
可获得系统主机、设备、数据库高权限,在获得当前系统环境信息证明时,不应再执行文件、程序、数据的编辑、增删、篡改等操作;
可在信息系统上传可解析、可执行文件,在获得解析和执行权限逻辑证明时,不应驻留带有控制性目的程序、代码。
严重 9~10 高 7~9 中 4~7 低 0~4
非(不确定)教育相关行业单位
不在奖励范围内的高校
虚假漏洞
本平台上已有其他白帽子提交过的漏洞
互联网上已经被公开的漏洞
提交到本平台后又提交到其他平台的漏洞
没有链接、截图、利用方法等漏洞详情不详细的漏洞
需要登录管理员后台才能触发的漏洞
需要中间人攻击的漏洞
Self-XSS
无敏感操作的 CSRF 漏洞
钓鱼漏洞
无敏感信息的 JSON Hijacking
扫描器取得结果,但白帽子无法提供利用方法的漏洞
无意义的源码泄露、内网 IP、域名泄露
拒绝服务漏洞
Python-Fofa-Xray 联动常规批量自动化
Python-Fofa-Exploit 联动定点批量自动化
Python-Fofa-平台默认口令安全批量自动化
https://www.seebug.org/
https://github.com/Miagz/XrayFofa
https://quake.360.cn/quake/welcome
https://github.com/TimelineSec/2020-Vulnerabilities
https://github.com/ihebski/DefaultCreds-cheat-sheet
1.开源系统、闭源系统、售卖系统
分类,解释,区别
2.如何寻找上述三类系统并进行安全测试
开源:各大源码站下载代码审计
闭源:Fofa搜索尝试获取源码审计或黑盒测试
售卖:套路社工获取源码或购买源码审计或黑盒测试
确定无源码的情况下,可利用Js文件寻找测试接口
3.如何挑简单的入手最快速度获取证书装x
目前java难度最大, py项目较少,挑php,aspx入手
其中php代码清晰明了,前期讲过,aspx涉及反编译代码后审计
案例1-某开源逻辑审计配合引擎实现通用
1.尝试漏洞挖掘
2.尝试逻辑测试
案例2-某闭源审计或黑盒配合引擎实现通用
案例3-某售卖审计或黑盒配合引擎实现通用
1.尝试性获取源码,见课程源码泄漏-V1第五课
2.类似java或.net编译类文件反编译源码-dnspy , idea
3.无源码情况下的Js接口数据提交测试模拟-jsfinder,手工,扫描
https://github.com/dnSpy/dnSpy
http://down.chinaz.com/class/5_2.htm
https://github.com/Threezh1/JSFinder
https://fletime.lanzoux.com/iDxcCj60qlc
https://fletime.lanzoux.com/iP8sCj60scf
https://fletime.lanzoux.co/i3kGmj5yqwb
https://github.com/TheKingOfDuck/fuzzDicts/
https://github.com/Threezh1/JSFinder ------js搜寻信息