知识点:xss html markup绕过、sql注入
进入页面
扫目录发现有admin.php
访问发现不是管理员无法查看
结合题目给出的buuoj xss平台的使用与admin.php的页面内容,猜测是用xss获取管理员cookie进行登录
注册登录后点击投稿页面,发现提示管理员会审核页面,那么应该就是使用xss获取管理员的cookie了
经过测试后发现xss括号被过滤,使用html markup绕过
使用xss.buuoj.cn上的xss平台构造xss语句,使用下图中的语句,将new Image()).src换成window.location.href,并将if判断的语句删掉
编写脚本转换成html markup,即&#加上ascii码
去投稿页面投稿,投稿成功后,点击查看页面,复制网址,进反馈页面反馈,借用之前保存的验证码脚本,跑出了验证码,并且网址最前面的部分要改成web
脚本:
import hashlib
def func(md5_val):
for x in range(999999, 100000000):
md5_value=hashlib.md5(str(x).encode('UTF-8')).hexdigest()
if md5_value[:6]==md5_val:
return str(x)
if __name__ == '__main__':
print(func('96eeb9'))
反馈后在xss平台上发现管理员的cookie
伪造管理员进行登录
输入ID后发现存在sql数字型联合查询注入,并且基本没有什么过滤,注入后得到flag