当前位置:网站首页>Secure Code Warrlor学习记录(三)
Secure Code Warrlor学习记录(三)
2022-07-19 05:14:00 【Mauro_K】
文章目录
前言
Secure Code Warrlor是一个代码审计的练习平台。
一、SQL注入练习(5)
1.漏洞点为:
2.解决方案:
3.总结
1)首先查看pom.xml文件,发现使用Hibernate框架,查看源代码,寻找直接拼接SQL语句的地方。
2)数据库语句最好预编译,使用标准的API安全查询。
3)使用replaceAll() 方法验证插入到查询中的输入参数不会阻止SQL注入。由于该函数仅排除某些字符,因此它仅过滤易受攻击的命令的一部分。
4)createNativeQuery方法不会清理或转义查询字符串中的符号。
5)使用replaceAll() 方法验证插入到查询中的输入参数不会阻止SQL注入。由于该函数仅排除某些字符,因此它仅过滤易受攻击的命令的一部分。
二、XSS练习(1)
1.漏洞点为:
2.解决方案:
3.总结
1)JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
2)escapeXml属性的作用就是:是否将特殊字符进行HTMl转码输出,如:> < $ 、等等。将特殊字符进行html转码,就相当于与让里面的属性作用失效,变为文本输出出来了。
又因为在<c:out>标签中,默认情况下,escapeXml=“true”,如果设置escapeXml的属性为false,就不会对标签特殊字符转换成html,这也是上面漏洞的成因。
3)在处理请求参数或用户生成的内容时,将JSTL的默认行为与core:out(默认escapexml=true)结合可以有效防止XSS。
三、XSS练习(2)
1.漏洞点为:
2.解决方案:
3.总结
1)使用OWASP JSP编码器e:forHtml() 方法对显示的字段进行转义。如果将恶意脚本注入应用程序页面,并且用户打开此页面,则不会执行恶意代码。
四、文件包含练习(1)
1.漏洞点为:
2.解决方案:
3.总结
1)如果url中的参数可控并且没有限制,攻击者可以将指向外部站点/文件的链接指定为页面参数。因此,受害者通过恶意链接可队系统造成危害。
2)内部jsp文件的静态指定路径可防止攻击者注册恶意路径。
3)在请求时将URL属性值中的内容添加到当前页面。
<c:import url="http://www.xxxxxx.com/xxx/hs.html" />
4)应用程序使用jsp:include page=“<%=文件%>”}”包含另一个页面,并从URL参数获取页面路径。这可能导致本地文件包含(LFI),攻击者可以访问受限制的系统文件和页面。
5)使用include标记时,请始终考虑是否确实需要使用用户输入。当确实需要用户输入时,可以实现一个allowlist来防止包含本地文件。
五、文件包含练习(2)
1.漏洞点为:
2.解决方案:
六、文件包含练习(3)
1.漏洞点为:
2.解决方案:
3.总结
1)寻找jsp代码中的文件包含漏洞需注意:
c:import字样
2)在具有硬编码URL路径值的预编译页面中正确使用c:import可以防止远程文件包含。因此,攻击者无法更改导入资源的路径。
3)有必要尽可能排除用户输入,或确保对输入的信息进行彻底过滤,以管理页面内容。最好的选择是去掉用户参数,并留下一个指向用户协议可信来源的链接。这是安全的,因为没有用户输入,并且攻击者无法操纵正在上载的文件。
边栏推荐
- 个人博客网站文章添加目录导航
- Interpretation of Bix NAS: searching effective bi directional architecture for medical image segmentation
- Retinaface parsing
- printf的归宿-数据打印到哪儿了
- Allegro (cadence)导出gerber文件步骤
- Vivado2018.2 error reporting and solution records
- FreeRTOS thread safe and interrupt safe printf implementation
- This paper interprets "semi supervised medical image segmentation with local contrast loss based on pseudo label self training"
- i.MX8MP开发板移植USBWIFI RTL8192EU驱动
- 代码审计之企业级进销存管理系统
猜你喜欢
vivado工程版本升级时相关IP版本IP Status显示Using cached IP results
瑞芯微RK3568开发板深度评测
电脑快捷方式变白原因及解决方法——血的教训呜呜呜
G2L系列 核心板 -RZ/G2L 处理器简介|框架图|功耗|原理图及硬件设计指南
Hard core strength! Feiling Ti Sitara am62x series-335x classic continuation
Program verification of one-dimensional wavelet transform based on cyclic convolution (C language)
最小二乘法线性拟合及其代码实现(C语言)
Xilinx 7 Series primitive use (clock related) - (I)
Interpretation of CO correcting: noise tolerant medical image classification via mutual label correction
提升开发效率的 Chrome 开发者工具快捷键参考
随机推荐
RTOS——RT-Thread Studio
【Markdown】关于Markdown我想说这些~
Stm32f4 uses advanced timer to output PWM wave (including code)
FPM生成封装时关联Allegro打开后无法生成封装问题解决办法
Interpretation of semi supervised semantic segmentation with error localization network
What about the software problem of Quanzhi a40i network card
Bing Bing search doesn't work
FreeRTOS线程安全、中断安全的printf实现方式
1人天搞定9人天的日志接入开发——基于指令集物联网操作系统的项目开发实践
vulnhub 靶机 Jangow: 1.0.1
QT calls external exe program (the simplest and easiest to use)
[Lora & nb IOT] current situation analysis
【BOM】初识BOM~
如何把一个“平台” 塞进一个小盒子里?(下)|技术实现篇
Xilinx 7 Series primitive use (clock related) - (I)
When the vivado project version is upgraded, the relevant IP version IP status displays using cached IP results
Evaluate reading and writing speed and network of Reza rz/g2l storage
SSH协议中隧道与代理的用法详解
內網滲透隧道技術的相關知識
SCU of zynq ARM core