首页 > 系统相关 >BUUCTF:[SUCTF 2019]Pythonginx

BUUCTF:[SUCTF 2019]Pythonginx

时间:2023-06-19 22:01:34浏览次数:64  
标签:SUCTF getUrl BUUCTF suctf nginx url cc host 2019


BUUCTF:[SUCTF 2019]Pythonginx_BUUCTF

@app.route('/getUrl', methods=['GET', 'POST'])
def getUrl():
    url = request.args.get("url")
    host = parse.urlparse(url).hostname
    if host == 'suctf.cc':
        return "我扌 your problem? 111"
    parts = list(urlsplit(url))
    host = parts[1]
    if host == 'suctf.cc':
        return "我扌 your problem? 222 " + host
    newhost = []
    for h in host.split('.'):
        newhost.append(h.encode('idna').decode('utf-8'))
    parts[1] = '.'.join(newhost)
    #去掉 url 中的空格
    finalUrl = urlunsplit(parts).split(' ')[0]
    host = parse.urlparse(finalUrl).hostname
    if host == 'suctf.cc':
        return urllib.request.urlopen(finalUrl).read()
    else:
        return "我扌 your problem? 333"

BUUCTF:[SUCTF 2019]Pythonginx_SUCTF2019_02


BUUCTF:[SUCTF 2019]Pythonginx_BUUCTF_03

url参数的处理过程如下图所示

BUUCTF:[SUCTF 2019]Pythonginx_nginx_04

利用点在这里urllib.request.urlopen(finalUrl).read(),只要前两次host != suctf.cc,第三次host == suctf.cc即可

BUUCTF:[SUCTF 2019]Pythonginx_nginx_05

而这利用的关键在于newhost.append(h.encode('idna').decode('utf-8'))

编码问题,Unicode的很多字符经过这样的一番编码处理都可以得到正常的字母,脚本fuzz

chars = ['s', 'u', 'c', 't', 'f']
for c in chars:
	for i in range(0x7f, 0x10FFFF):
		try:
			char_i = chr(i).encode('idna').decode('utf-8')
			if char_i == c:
				print('ASCII: {}   Unicode: {}    Number: {}'.format(c, chr(i), i))
		except:
			pass

BUUCTF:[SUCTF 2019]Pythonginx_BUUCTF_06


任意去一个替换['s', 'u', 'c', 't', 'f']其中一个即可绕过

/getUrl?url=file://

标签:SUCTF,getUrl,BUUCTF,suctf,nginx,url,cc,host,2019
From: https://blog.51cto.com/u_16159500/6517886

相关文章

  • BUUCTF: [网鼎杯 2020 朱雀组]Nmap
    https://buuoj.cn/challenges#[%E7%BD%91%E9%BC%8E%E6%9D%AF%202020%20%E6%9C%B1%E9%9B%80%E7%BB%84]Nmap会把扫描结果导出到一个文件里面给参数f传一个错误的文件名通过报错发现使用了simplexml_load_file(),那说明导出的文件格式是xml的使用输出格式可以将指定的内容输出到指定......
  • SharePoint Server 解决方案:如何优化SharePoint Server 2019 Performance
    博客链接:https://blog.51cto.com/u_13637423近期遇到一个客户,SharePointServer2019Performance不够理想,希望能提高enduser访问和同时协作的performance,跟客户聊完SharePointinfra相关的软、硬件配置后,给了相关的优化建议,这里整理一下分享给大家,希望对大家日后的SharePointSer......
  • BUUCTF:[极客大挑战 2019]BabySQL
    题目地址:https://buuoj.cn/challenges#[%E6%9E%81%E5%AE%A2%E5%A4%A7%E6%8C%91%E6%88%98%202019]BabySQL简单测试之后发现有些字符被过滤,初步判断这里的过滤是指特殊字符被替换为空,如下图所示使用Burp进行SQL过滤字符的Fuzz这些长度为726响应内容是Inputyourusernameandpass......
  • BUUCTF:zip
    题目地址:https://buuoj.cn/challenges#zip很多压缩包,但是里面的内容非常小,小于5字节,可以尝试使用CRC32爆破得到其内容先以out0.zip做个例子,out0.zip的CRC32校验码为:0x75f90d3aPSD:\Tools\Misc\crc32>python.\crc32.pyreverse0x75f90d3a4bytes:{0x7a,0x35,0x42,0x7a}ve......
  • BUUCTF:梅花香自苦寒来
    题目地址:https://buuoj.cn/challenges#%E6%A2%85%E8%8A%B1%E9%A6%99%E4%B9%8B%E8%8B%A6%E5%AF%92%E6%9D%A5题目如下:使用010editor打开在图片结尾FFD9后存在一大串十六进制,把这些字符复制出来,将十六进制转为字符十六进制转字符:https://coding.tools/tw/hex-to-ascii类似坐标,可......
  • BUUCTF:刷新过的图片
    题目地址:https://buuoj.cn/challenges#%E5%88%B7%E6%96%B0%E8%BF%87%E7%9A%84%E5%9B%BE%E7%89%87F5隐写,利用工具:F5-steganography:https://github.com/matthewgao/F5-steganography得到的output.txt明显是个zip文件修改后缀为zipzip伪加密解压得到flagflag{96efd0a2037d06f34199......
  • BUUCTF:面具下的flag
    题目地址:https://buuoj.cn/challenges#%E9%9D%A2%E5%85%B7%E4%B8%8B%E7%9A%84flag题目如下:binwalk分析,发现有隐藏了zip,foremost分离得到一个压缩包zip伪加密解压得到flag.vmdkvmdk文件可以用7z解压7zxflag.vmdk-o./第一部分flag在key_part_one/NUL++++++++++[->+++++++++......
  • BUUCTF:qr
    题目地址:https://buuoj.cn/challenges#qrFlag{878865ce73370a4ce607d21ca01b5e59}......
  • BUUCTF:LSB
    题目地址:https://buuoj.cn/challenges#LSB题目提示是:LSB使用stegsolve打开,在Redplane0、Grennplane0、Blueplane0通道发现图片的上方好有东西Analyse->DataExtract调整至如下,发现这是一张图片,SaveBin保存为flag.png`cumtctf{1sb_i4_s0_Ea4y}......
  • BUUCTF:[ISITDTU 2019]EasyPHP
    题目地址:BUUCTF:[ISITDTU2019]EasyPHPRefer:https://tiaonmmn.github.io/2019/07/18/ISITDTU-Easy-PHP/思路很简单,绕过这两个if即可任意代码执行先看一下第一个正则匹配看不懂的推荐使用这个网站:https://regex101.com/if(preg_match('/[\x00-0-9\'"`$&.,|[{_defgops\x7F]+/i......