当前位置:   article > 正文

NSSCTF 2nd WEB_[nssctf 2nd]mybox

[nssctf 2nd]mybox

php签到

考点

文件上传,绕过

题目

  1. <?php
  2. function waf($filename){
  3. $black_list = array("ph", "htaccess", "ini");
  4. $ext = pathinfo($filename, PATHINFO_EXTENSION); //获取文件后缀
  5. foreach ($black_list as $value) {
  6. if (stristr($ext, $value)){ //检查后缀
  7. return false;
  8. }
  9. }
  10. return true;
  11. }
  12. if(isset($_FILES['file'])){
  13. $filename = urldecode($_FILES['file']['name']);
  14. $content = file_get_contents($_FILES['file']['tmp_name']);
  15. if(waf($filename)){
  16. file_put_contents($filename, $content);
  17. } else {
  18. echo "Please re-upload";
  19. }
  20. } else{
  21. highlight_file(__FILE__);
  22. }

题解

文件名xxx.xxx/.时,pathinfo函数的PATHINFO_EXTENSION只能得到空。

这里使用了file_put_contents()和urlencode

当我们上传test.php/.这样的文件时候,因为file_put_contents()第一个参数是文件路径,操作系统会认为你要在test1.php文件所在的目录中创建一个名为.的文件,最后上传的结果就为test.php。

用表单上传

用蚁剑连接成功但找不到flag

法一:

法二:

MyBox

考点

flask,file协议

题目

进去一开始是一片空白

题解

看到有个url参数

猜测这里存在SSRF漏洞。尝试伪协议读取/etc/passwd,成功,存在SSRF。

/?url=file:///etc/passwd

image-20230829101135327

一:读取环境变量/proc/1/environ,获得flag。(非预期)

/?url=file:///proc/1/environ

image-20230829101334454

二:读取start.sh

/?url=file:///start.sh 

读取源码:/?url=file:///app/app.py

image-20230829101443029

  1. from flask import Flask, request, redirect
  2. import requests, socket, struct
  3. from urllib import parse
  4. app = Flask(__name__)
  5. @app.route('/')
  6. def index():
  7. if not request.args.get('url'):
  8. return redirect('/?url=dosth')
  9. url = request.args.get('url')
  10. if url.startswith('file://'):
  11. with open(url[7:], 'r') as f:
  12. return f.read()
  13. elif url.startswith('http://localhost/'):
  14. return requests.get(url).text
  15. elif url.startswith('mybox://127.0.0.1:'):
  16. port, content = url[18:].split('/_', maxsplit=1)
  17. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  18. s.settimeout(5)
  19. s.connect(('127.0.0.1', int(port)))
  20. s.send(parse.unquote(content).encode())
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/701501
推荐阅读
相关标签
  

闽ICP备14008679号