这周接着刷攻防世界的web题( ̄︶ ̄)↗

1、command_execution


看提示这题为命令执行漏洞(command_execution),关于命令执行漏洞,我前面有篇博客详细介绍了,大家不了解的话的可以去看看https://blog.csdn.net/qq_43531669/article/details/99771487
先尝试一下127.0.0.1 发现执行成功,得到回显:

那没什么好说的了,直接查看目录下的所有文件吧:

得到这些,接着查看home目录下的文件:

发现flag文件,然后查看得到flag

2、simple_php


打开题目地址:

<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){echo $flag1;
}
if(is_numeric($b)){exit();
}
if($b>1234){echo $flag2;
}
?>

得到这么几串代码
意思是当a==0,但a的值又不能为0时输出flag1,b大于1234,并且b不是数字时输出flag2; 于是构造:?a=0a&b=12345A便可绕过得到完整的flag。

3、NaNNaNNaNNaN-Batman

知识点:js代码(eval函数,alert函数)正则、代码审计

eval() 函数:可计算某个字符串,并执行其中的的 JavaScript 代码。
alert()函数:用于显示带有一条指定消息和一个确定按钮的警告框。

下载附件,以文本格式打开:

是一段JS的代码,改后缀为.html在游览器打开:

有一个输入框,但输入什么都没有反应,继续分析js代码 = ̄ω ̄= 审计代码可以看到eval函数执行了_变量中的内容也就是' '中的内容,但是,要注意的是,它并没有执行$()函数,仅仅执行了字符串而已(从而导致乱码),因而页面html页面没有任何显示,只显示了input标签的内容,但是我们想让源代码正常显示出来,不进行执行,那么,我们就用到了alert弹窗(将eval函数改为alert),将乱码的$()函数源码完整显示出来:

整理一下得到:

function $(){
var e=document.getElementById("c").value;
if(e.length==16)if(e.match(/^be0f23/)!=null)if(e.match(/233ac/)!=null)if(e.match(/e98aa$/)!=null)if(e.match(/c7be9/)!=null){var t=["fl","s_a","i","e}"];var n=["a","_h0l","n"];var r=["g{","e","_0"];var i=["it'","_","n"];var s=[t,n,r,i];for(var o=0;o<13;++o){document.write(s[o%4][0]);s[o%4].splice(0,1)}}
}
document.write('<input id="c"><button οnclick=$()>Ok</button>');
delete _

分析代码,我们的目标是打印出document.write(s[o%4][0]);s[o%4].splice(0,1)}
因此我们要满足关键变量e的条件

e.length==16
e.match(/^be0f23/)!=null
e.match(/233ac/)!=null
e.match(/e98aa$/)!=null
e.match(/c7be9/)!=null

这里又用到了正则表达式 ^表示开头一定要匹配到be0f23,$表示结尾一定要匹配到e98aa,其它的只要匹配到就好,没有位置要求,于是构造e=be0f233ac7be98aa
在输入框中输入e的值,点击Ok
成功得到flag:
flag{it’s_a_h0le_in_0ne}

也可以直接将核心代码直接在控制台执行

var t=["fl","s_a","i","e}"];var n=["a","_h0l","n"];var r=["g{","e","_0"];var i=["it'","_","n"];var s=[t,n,r,i];for(var o=0;o<13;++o){document.write(s[o%4][0]);s[o%4].splice(0,1)}

4、NewsCenter


这一题考察的是 SQL 注入,这里演示下手动注入和sqlmap两种方法。

手动注入:

首先查返回列,经测试共三列返回数据。
接着查看数据库名,看到库名为news


查表名,构造命令:1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()
得到两个表,news中无数据,查看表 secret_table字段
1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name=' secret_table'

最后执行查询语句
0' union select 1,2,fl4g from secret_table#


得到flag。

Sqlmap自动注入:

首先用bp抓包,得到http文件头

保存为文本。然后执行命令:python sqlmap.py -r 1.txt --dbs 查数据库
再执行命令:python sqlmap.py -r 1.txt -D news --dump 获取库中的所有数据
得到 flag ! ( ̄▽ ̄)"/

攻防世界 web(二)相关推荐

  1. 攻防世界 web篇(二)

    攻防世界 web篇(二) warmup favorite_number warmup shrine warmup $whitelist = ["source"=>" ...

  2. 攻防世界-----web知识点总结

    WEB 一. 网页源代码的方式 在地址栏前面加上view-source,如view-source:https://www.baidu.com 浏览器的设置菜单框中使用开发者工具,也可以查看网页源代码. ...

  3. 攻防世界-web新手区wp

    攻防世界-web新手区wp view source robots backup cookie disabled_button weak auth simple php get_post xff_ref ...

  4. 攻防世界-web高手进阶区

    文章目录 攻防世界-web高手进阶区 1.baby_web 2.Training-WWW-Robots 3.Web_php_include (文件包含+伪协议) 1.方法 2.方法 4.ics-06( ...

  5. 攻防世界WEB进阶之upload1

    攻防世界WEB进阶之upload1 一.分析 二.实操 三.答案 难度系数: 1星 题目来源: 暂无 题目描述:暂无 题目场景: 略 题目附件: 暂无 一.分析 首先打开场景,上传文件进行抓包操作,发 ...

  6. 攻防世界web进阶区wtf.sh-150详解

    攻防世界web进阶区wtf.sh-150详解 题目 详解 题目 看起来像一个论坛,可以注册,登录 详解 我们随便打开一个 尝试注入 并没有发现可以注入 注册发现,admin已经存在, 我们看看能不能二 ...

  7. 攻防世界web新手区(来自小白)*-*

    鄙人是个纯纯的小白,这个博客也是给小白写的,不过大佬们也不会来查这些题的wp吧 拍飞 文章目录 攻防世界WEB新手区(1--11) 第一题view_source 第二题robots 第三题backup ...

  8. CTF:攻防世界web PART01

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 攻防世界web PART01 baby_web Traini ...

  9. 攻防世界 web高手进阶区 9分题 favorite_number

    前言 继续ctf的旅程 开始攻防世界web高手进阶区的9分题 本文是favorite_number的writeup 解题过程 进入界面 简单的代码审计 首先是个判断,既要数组强等于,又要首元素不等 然 ...

  10. 攻防世界——web新手题

    攻防世界----web新手题 1. robots 打开题目场景,发现与robots协议有关,上网搜索robots协议的内容: Robots协议(也称为爬虫协议.机器人协议等)的全称是"网络爬 ...

最新文章

  1. NetworkManagementService介绍
  2. Annotataion
  3. 任正非:进军高端市场的同时,华为要防范未来竞争者从低端崛起
  4. 一、“用黑色的眼睛寻找光明”
  5. mysql009模糊查询like.是否为null
  6. 数据结构与算法专题——第九题 鸡尾酒排序
  7. 浅谈BP神经网络的Matlab实现
  8. 条件编译#ifdef 和#endif
  9. 文件夹在哪里_在Mac电脑上截图和照片放在哪里?
  10. 判断参数并赋予默认值
  11. ubb码转换的java类库 ubb2html_asp ubb代码转换成html代码
  12. 理财通 for N9
  13. 计算机操作系统-整理
  14. python整数范围_python整数范围
  15. 如何搜索网易云中的评论
  16. html设置一句话的样式,页面上的div标签,其HTML代码为divid=boxstyle=color:red文字/div,为其设置CSS样式如下:...
  17. 登陆注册小Demo实现
  18. 2、按键检测例程-FPGA-个人实验总结
  19. HTML 网页打印实现分页打印功能
  20. 第1章 蓝牙降噪耳机简述

热门文章

  1. android之tab分页标签的实现方法,Android应用中使用ViewPager和ViewPager指示器来制作Tab标签...
  2. tsp 分支界限 java_干货 | 10分钟教你用branch and bound(分支定界)算法求解TSP旅行商问题...
  3. 【小白学习C++ 教程】二十、C++ 中的auto关键字
  4. 八十九、Python的GUI系列 | 使用PyQt5 快速构建一个GUI 应用
  5. 半导体二极管和晶体三极管
  6. mysql 笔试题_MySQL笔试题详解(一)(中等难度)
  7. EMNLP 2021 | 正则表达式与神经网络的深度融合(续)
  8. ICLR 2021 | 美团、上交大等:鲁棒的可微分神经网络搜索DARTS-
  9. 好看的论文千篇一律,有趣的Github项目万里挑一!
  10. 又~发现两篇好文章~~