极客大挑战2019wp--web(已做完)
0x01前言听说极客大挑战的题目挺好的,刚好ctfshow做累了,就去一个个复现去做题积累经验 0x02赛题[极客大挑战 2019]Http打开题目 搜罗一圈之后没看到什么,Ctrl+u看一下源代码,然后在里面发现了一个Secret.php,访问看看 意思是我们不是来自https://Sycsecret.buuoj.cn的访问,一看就知道是请求头信息伪造了 知识点:请求头大全Header 解释 示例 Accept 指定客户端可以接收的内容类型 Accept:application/json, text/plain, / Accept-Charset 浏览器能够接受的字符编码集。 Accept-Charset: iso-8859-5 Accept-Encoding 指定浏览器能够支持的web服务器返回内容压缩编码类型。 Accept-Encoding: gzip, deflate, br Accept-Language 浏览器可接受的语言 Accept-Language:...
DSBCTF--单身杯
...
web入门php篇-ctfshow(已做完)
0x01基础知识php特性放一下主要的知识点 调用命令的常用函数在 PHP 中,exec、system 和、passthru 都是用来调用外部 Linux 命令的函数,但它们还是有区别的: (1)system() 用于执行外部程序;输出命令的执行结果到标准输出设备,并返回命令的最后一行结果;可以通过传递第二个参数来捕获命令执行后的返回状态码。 (2)passthru() 用于执行外部程序;将命令的原始输出直接发送到标准输出设备(通常是浏览器);不返回任何值,但可以通过第二个参数捕获命令执行后的返回状态码。 (3)exec() 用于执行外部程序;不会输出结果到标准输出,而是将最后一行结果作为返回值返回;如果传入第二个参数(数组),可以将所有输出保存到这个数组中;第三个参数是一个整数变量,用于捕获命令执行后的返回状态码。 0x02题目web89123456789101112include("flag.php");highlight_file(__FILE__);if(isset($_GET['num'])){ $num =...
2024玄武杯wp--web方向(已做完)
webez_flask打开zip文件中的app.py 12345678910111213141516171819from flask import Flask, render_template_string, render_templateapp = Flask(__name__)#创建一个flask实例@app.route('/hello/')def hello(): return render_template('hello.html')@app.route('/hello/<name>')def hellodear(name): if "ge" in name: return render_template_string('hello %s' % name) elif "f" not in name: return render_template_string('hello...
web入门xss篇--ctfshow
XSS跨站漏洞 0x01xss前言之前对xss跨站攻击只是停留在概念的理解上,这次开始做ctfshow的xss部分,那就深入学习一下xss吧 0x02xss介绍原理 简单来说就是恶意攻击者会在 Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行 概念XSS (Cross Site Scripting) 攻击全称跨站脚本攻击,是一种经常出现在 Web 应用中的计算机安全漏洞。 站中包含大量的动态内容以提高用户体验,比过去要复杂得多。所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。动态站点会受到称XSS的威胁,而静态站点则完全不受其影响。 跨站脚本攻击是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。它允许恶意用户将代码注入网页,其他用户在浏览网页时会受到影响,恶意用户利用xss 代码攻击成功后,可能得到很高的权限、私密网页内容、会话和cookie等各种内容 攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin...
web入门爆破篇-ctfshow(已做完)
知识点:暴力破解原理暴力破解实际就是疯狂的输入密码进行尝试登录,针对有的人喜欢用一些个人信息当做密码,有的人喜欢用一些很简单的低强度密码,我们就可以针对性的生成一个字典,用脚本或者工具挨个去尝试登录。 暴力破解前提1.没安装waf,或者安装了waf没有开启流量拦截 2.没有规定输入密码多少次后无法继续输入 3.没有验证码,或者验证码生成在数据包中与输入的验证码进行比对。 4.判定输入密码次数等是根据数据包中的ip等判定,我们就可以用字典变换ip去绕过 burpsuite爆破的四种模式四种模式分别为:Sniper、Battering ram、Pitchfork、 Cluster bomb(推荐使用) 1.Sniper(狙击手)作为比较常用的模式,Sniper的作用是对其中选定的参数一个一个依次遍历字典并且替换然后测试。sniper只能默认对第一个参数进行修改,而无法对两个参数同时进行爆破。 2.Battering ram(攻城锤)不同于sniper,Battering...
web入门反序列化篇-ctfshow
web254考点:认识基本的类,方法,属性等的定义方法查看题目 12345678910111213141516171819202122232425262728293031323334353637class ctfShowUser{ #定义一个类 public $username='xxxxxx';#定义一个公开的成员属性username并初始化为xxxxxx public $password='xxxxxx';#定义一个公开的成员属性password并初始化为xxxxxx public $isVip=false;#定义一个公开的属性isVip并初始化为false,这个属性用来标记用户是否是VIP public function checkVip(){#定义一个公开的方法checkVip return $this->isVip;#返回isVip的值 } public function login($u,$p){#定义一个公开的方法login,它接受传递两个参数$u和$p ...