TypechoJoeTheme

K.Fire's Blog

K.Fire

没有勇敢的工作
只有困难的打工人
网站页面
搜索到 22 篇与 笔记 的结果
2020-12-15

Struts2 S2-061漏洞复现(CVE-2020-17530)

Struts2 S2-061漏洞复现(CVE-2020-17530)
漏洞概述Struts2 会对某些标签属性(比如 id,其他属性有待寻找) 的属性值进行二次表达式解析,因此当这些标签属性中使用了 %{x} 且 x 的值用户可控时,用户再传入一个 %{payload} 即可造成OGNL表达式执行。S2-061是对S2-059沙盒进行的绕过。影响范围Struts 2.0.0 - Struts 2.5.25靶机搭建Vulhub已上线docker部署git clone https://github.com/vulhub/vulhub.git cd /root/vulhub/struts2/s2-061 docker-compose -version复现实际上发现 S2-061 的环境就是 S2-059的。<html> <head> <title>S2-059 demo</title> </head> <body> <a id="" href="/index.action">your input id: <br>has...
K.Fire
2020-12-15

笔记

244 阅读
0 评论
2020年12月15日
244 阅读
0 评论
2020-08-23

Flask(Jinja2) 服务端模板注入漏洞(SSTI) 学习

Flask(Jinja2) 服务端模板注入漏洞(SSTI) 学习
环境这里采用的是vulhub的docker环境https://vulhub.org/#/environments/flask/ssti/Jinja2Jinja 2是一种面向Python的现代和设计友好的模板语言,它是以Django的模板为模型的Jinja2 是 Flask 框架的一部分。Jinja2 会把模板参数提供的相应的值替换了 {{…}} 块Jinja2 模板同样支持控制语句,像在 {%…%} 块中探究下面是存在漏洞的代码from flask import Flask, request from jinja2 import Template app = Flask(__name__) @app.route("/") def index(): name = request.args.get('name', 'guest') t = Template("Hello " + name) return t.render() if __name__ == "__main__": app...
K.Fire
2020-08-23

笔记

427 阅读
0 评论
2020年08月23日
427 阅读
0 评论
2020-04-19

Selenium实现系统对话框上传文件

Selenium实现系统对话框上传文件
当富文本编辑器调用系统对话框选择文件上传,你是不是一脸懵逼呢?工具Python3.xWinSpy解决办法既然调用的是系统对话框,所以我们可以试试 Windows API,使用winspy可以帮助我们快速的找到相关句柄。图片请结合代码查看import win32gui import win32con dialog = win32gui.FindWindow('#32770', '打开')#找到对话框 ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None) ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None) Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)#逐级定位编辑框 button = win32gui.FindWindowEx(dialog, 0, 'Button', None)#定位确认按钮 win32gui.SendMessage(Edit, w...
K.Fire
2020-04-19

笔记

88 阅读
0 评论
2020年04月19日
88 阅读
0 评论
2020-04-19

Selenium无法定位元素之Frame/Iframe

Selenium无法定位元素之Frame/Iframe
IFRAME是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)。切换iFrame1.有id,并且唯一,直接写iddriver.switch_to_frame("x-URS-iframe") driver.switch_to.frame("x-URS-iframe") 2.有name,并且唯一,直接写namedriver.switch_to_frame("xxxx") driver.switch_to.frame("xxxx") 3.无id,无name,先定位iframe元素iframe = driver.find_elements_by_tag_name("iframe")[0] driver.switch_to_frame(iframe) driver.switch_to.frame(iframe) 4.通常采用id和name就能够解决绝大多数问题。但有时候frame并无这两项属性,则可以用index和...
K.Fire
2020-04-19

笔记

62 阅读
0 评论
2020年04月19日
62 阅读
0 评论