Archive3月 2020

Ansible源码分析之corn模块

corntab是linux上被大家熟知的定时任务,而Ansible中使用corn模块来管理crontab和环境变量条目。

  • 该模块允许创建环境变量和命名的crontab条目,更新或删除它们。
  • ‘当管理crontab作业时:模块包括一行,其中crontab条目C(“#Ansible:”)的描述与传递给模块的“名称”相对应,供将来的ansible /模块使用调用以查找/检查状态。
  • “名称”参数应该是唯一的,并且更改“名称”值将导致创建新的cron任务(或删除其他任务)。
  • 在管理环境变量时,不添加任何注释行,但是,当模块需要查找/检查状态时,它将使用“名称”参数来查找环境变量定义行。
阅读更多

Ansible源码分析之get_url模块

在之前的command模块中提到过get_url其实是curl和wget命令的替代模块。再看该模块的文档描述:

  • 将文件从HTTP,HTTPS或FTP下载到远程服务器。远程服务器I(必须)可以直接访问远程资源。
  • 默认情况下,如果在目标主机上设置了环境变量C( _proxy),则请求将通过该代理发送。可以通过为此任务设置变量或使用use_proxy选项来覆盖此行为。
  • HTTP重定向可以从HTTP重定向到HTTPS,因此您应确保两种协议的代理环境均正确。
  • 从Ansible 2.4开始,使用C(-check)运行时,它将发出HEAD请求以验证URL,但不会下载整个文件或针对哈希进行验证。
  • 对于Windows目标,请改用 win_get_url 模块。
阅读更多

Flask之SSTI服务端模版注入漏洞分析

恰好之前面试某安全公司时被问到这个漏洞,当时还没有研究过,现在花时间分析一下。这里我还是用vulhub上的环境来复现。SSTI即服务端模版注入攻击。由于程序员代码编写不当,导致用户输入可以修改服务端模版的执行逻辑,从而造成XSS,任意文件读取,代码执行等一系列问题。

阅读更多