Web攻防--JAVAWEB项目&JWT身份攻击&组件安全&Python考点&CTF与CMS-SSTI模版注入&PYC反编译

 知识点:

1、JavaWeb常见安全及代码逻辑

2、目录遍历&身份验证&逻辑&JWT

3、访问控制&安全组件&越权&三方组件

案例演示:

  • JavaWeb-WebGoat8靶场搭建使用
  • 安全问题-目录遍历&身份认证-JWT攻击
  • 安全问题-访问控制&安全组件-第三方组件

环境下载地址:GitHub - WebGoat/WebGoat: WebGoat is a deliberately insecure application(安装使用可以度娘)

目录遍历漏洞:题目提示上传到指定目录才可以上传成功,当我们上传时会自动保存到默认目录。我们分析源码可以看出我们只要直接在bp抓包修改目录即可(思路:这题告诉我们的是,我们可以修改包内容 从而达到将文件上传到其他目录的漏洞。)

利用价值:下图所示,在图片上传目录上传一个后门,但是我们无法进行访问。这个时候可以把他上传到其他目录。Web攻防--JAVAWEB项目&JWT身份攻击&组件安全&Python考点&CTF与CMS-SSTI模版注入&PYC反编译_第1张图片

JWT身份验证: 

-键值逻辑:使用键名键值进行对比验证错误

-JWT攻击:1、签名没验证空加密 2、爆破密匙 3、KID利用

Web攻防--JAVAWEB项目&JWT身份攻击&组件安全&Python考点&CTF与CMS-SSTI模版注入&PYC反编译_第2张图片

 JWT特点:有两个点,分为3部分。

 #访问控制

-隐藏属性:前端页面的自慰限制显示

-水平越权:同一级别用户权限的查看

SSTI模板:Web攻防--JAVAWEB项目&JWT身份攻击&组件安全&Python考点&CTF与CMS-SSTI模版注入&PYC反编译_第3张图片

 SSTI可能出现的地方Web攻防--JAVAWEB项目&JWT身份攻击&组件安全&Python考点&CTF与CMS-SSTI模版注入&PYC反编译_第4张图片

 

#SSTI入门-原理&分类&检测&分析&利用

1、什么是SSTI?有什么漏洞危害?

漏洞成因就是服务端接收了用户的恶意输入以后,未经任何处理就将其作为 Web 应用模板内容的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因而可能导致了敏感信息泄露、代码执行、GetShell 等问题。其影响范围主要取决于模版引擎的复杂性。

2、如何判断检测SSTI漏洞的存在?

-输入的数据会被浏览器利用当前脚本语言调用解析执行

3、SSTI会产生在那些语言开发应用?

-见上图

4、SSTI安全问题在生产环境那里产生?

-存在模版引用的地方,如404错误页面展示

-存在数据接收引用的地方,如模版解析获取参数数据

#SSTI考点-CTF靶场-[WesternCTF]shrine

1、源码分析SSTI考点

2、测试判断SSTI存在

查看是否存在flask函数库

下图位模板解析语句Web攻防--JAVAWEB项目&JWT身份攻击&组件安全&Python考点&CTF与CMS-SSTI模版注入&PYC反编译_第5张图片

3、分析代码过滤和FLAG存储

4、利用Flask两个函数利用获取

url_for()函数是用于构建操作指定函数的URL

get_flashed_messages()函数是获取传递过来的数据

/shrine/{{url_for.__globals__}}

/shrine/{{url_for.__globals__['current_app'].config}}

/shrine/{{get_flashed_messages.__globals__}}

/shrine/{{get_flashed_messages.__globals__['current_app'].config}}

#SSTI考点-CMS源码-MACCMS_V8.X执行

Payload:index.php?m=vod-search&wd={if-dddd:phpinfo()}{endif-dddd}

1、根据wd传递的代码找指向文件

2、index->vod->tpl->ifex->eval

3、构造Payload带入ifex并绕过后执行

 

你可能感兴趣的:(安全,web安全,java,python,网络安全)