Bugku刷题--WEB篇

Bugku刷题--WEB篇,第1张

概述刷题步骤按着解题人数从多到少顺寻知识点记录模板注入模板注入文件解析漏洞+远程代码执行漏洞查看源代码的方法(F12、抓包、开发者工具)客户端传输数据—修改网页源代码禁用JS脚本,unicode解码POST方式,上传数据PHP弱类型----部分数据在“==”两侧相等Burpsuite抓包,审计源代码
刷题步骤按着解题人数从多到少顺寻
知识点记录模板注入模板注入文件解析漏洞+远程代码执行漏洞查看源代码的方法(F12、抓包、开发者工具)客户端传输数据—修改网页源代码禁用Js脚本,unicode解码POST方式,上传数据PHP弱类型----部分数据在“==”两侧相等Burpsuite抓包,审计源代码,unicodeBurpsuite抓包,重放,找flag文件读取,构造URL$GLOBALS可以查看全局作用域中的所有变量读取network中header部分目录扫描获得密码(爆破或者base64解码),repeter伪造身份URL解码文件包含漏洞+PHP伪协议绕过Bp爆破目录扫描+PHP弱类型之MD5弱类型sql注入:工具以及手注Python脚本+正则表达式Python脚本Python脚本PHP工具

1.火狐:Hackbar
2.抓包改包:burpsuite
3.目录扫描:御剑扫描(记得更新字典)
4.sql注入:sqlmap
5.连接木马:中国菜刀/蚁剑

1.Simple_sstI_1

解法: 在URL中构造

?flag={{config.SECRET_KEY}}
审题:

相关知识点:
Python沙盒绕过

模板注入(STTI)

模板引擎(STT)

2.Simple_sstI_1

解题:
1.工具:tqlmap
2.手工

3.Flask_fileUpload

解法:
创建一个文件,写python代码,修改文件格式为 .jpg

import osos.system('cat /flag')

修改文件格式方法自行搜索

审题:

<!-- Give me the file, and I will return the Running results by python to you! -->翻译:上传一张图片,会被以python代码执行

相关知识点:
①文件解析漏洞
②远程代码执行漏洞
③python:os模块及相关函数

4. 滑稽

审题:
一张滑稽图片
解法:

目的:查看源码,得到flag1.F122.右键3.开发者工具4.ctrl+u
5. 计算器

审题:
输入数字,进行验证,但是长度有限制,只有一个单位
解法:

开发者工具下,打开源代码,修改maxlength为2或3
6. 你必须让他停下

审题:
点开环境,会不断的出现d窗
解法:

禁止浏览器脚本功能->停止d窗查看源代码,发现flagflag是unicode编码形式->用工具或在线网站 进行解码即可
7. GET/POST

审题:
查看源代码

$what=$_POST['what']; //接受post过来的参数what,存到what里echo $what;     	  //打印if($what=='flag')     //如果值是flagecho 'flag{****}';	  //打印flag

解法:
用火狐的Hackbar工具
post data:what = flag
得到flag

8. 矛盾

审题:
查看源代码
发现:先要满足$num不是数字和数字字符串,还要满足$num==1

代码审计-PHP弱类型
在PHP语言中,相关数据在‘==’两侧相等
PHP弱类型

<?PHPvar_dump(1=="1");var_dump(123=='123asd');var_dump("1"==true);var_dump("0"==false);var_dump(-1 == true);var_dump(true=="PHP");var_dump(0==NulL);var_dump(0=="PHP");var_dump(0=="");var_dump(NulL==false);var_dump(""==false);var_dump(array()==false);var_dump(array()==NulL);?>

解法:
构造语句

?num == 1a
9. alert

审题:
不停的d窗
解法:
阻止d窗,(抓包)
查看源代码
最后一段代码有点奇怪(是unicode格式的字符)
进行unicod转码为ASCII码
得到flag

10. web7

审题:
不停的刷新图片,其中一张图片的源代码里面有flag
解法:
常规 *** 作:
利用burpsuit抓包,不断重放(sendtorepeter),知道到有flag的那张

其他花里胡哨解法:
截图;
禁止Js,手动刷新;
开源码,一次次刷新;

11. eval

审题:
文件包含

 <?PHP    include "flag.PHP";    $a = @$_REQUEST['hello']; //变量名字出现    eval( "var_dump($a);");    show_source(__file__);	  // *** 作解释,file<=>文件名?> 

解法:
构造url:?hello=show_source('flag.PHP')

12.变量1

审题

flag In the variable ! <?PHP  error_reporting(0);include "flag1.PHP";highlight_file(__file__);if(isset($_GET['args'])){    $args = $_GET['args'];    if(!preg_match("/^\w+$/",$args)){        dIE("args error!");    }    eval("var_dump($$args);");}?> 

开始是像WEB8一样想,但是不对,
解题
构造url:?args=GLOBALS
$GLOBALS可以调用全局作用域中的所有变量,就可以看到flag

13.头等舱

审题
头等舱
点开环境,真·什么都没有
头等舱头等舱----头
解题
火狐F12,网络,消息头,里有flag

14.网站被黑了

审题
描述:网站被黑了 黑客会不会留下后门

解题
①目录扫描–御剑扫描
(赶时间就:)
构造url:ip+/shell.PHP
进入登陆界面

②弱口令爆破–burpsuite
bp:抓包,发送到intruder模块,进行爆破

15.本地管理员

审题
题目:本地管理员
进去是管理员系统
通常:用户名为admin,所以猜是admin
解题

密码:test123解法1:F12,最下面注释,有个代码,进行base64解码可得解法2:bp爆破密码但是输入账号密码,得到ip被禁止的消息本地管理员,本地bp抓包,发到repeter模块,构造header头X-Forwarded-For:127.0.0.1点击Go得到flag
16.源代码

审题
看看源代码?
那就看嘛
解题

F12,查看源码,有个script脚本中间,有一堆url,拉出去,解码,最后一行说,拼接拼接在一起,得到一个假flag,放到框里,submit得到真flag
17.文件包含

审题
click me?no
(点击)
index.PHP
(url:http://114.67.246.176:17169/index.PHP?file=show.PHP)
解题
文件包含漏洞++PHP协议
PHP://协议

在CTF中经常使用的是PHP://filter用于读取源码PHP://input用于执行PHP代码。

构造payload:http://114.67.246.176:17169/index.PHP?file=PHP://filter/read=convert.base64-encode/resource=index.PHP

参考文档:php:// 协议

18.好像需要密码

审题
需要五位数密码
解题
弱密码爆破
使用burpsuite爆破 发包到intruder模块
经过爆破
得到密码
输入密码,得到flag

19.备份是个好习惯

审题
备份是个好习惯
d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e
解题
御剑扫描目录后台(未扫到可能未更新字典)
得到/index.PHPh.bak
保存文件,用记事本打开
代码审计

<?PHPinclude_once "flag.PHP";ini_set("display_errors", 0);$str = strstr($_SERVER['REQUEST_URI'], '?');$str = substr($str,1);$str = str_replace('key','',$str);parse_str($str);echo md5($key1);echo md5($key2);if(md5($key1) == md5($key2) && $key1 !== $key2){    echo $flag."取得flag";}?> 加密的key1等于加密的key2并且不加密的key不等于key2

MD5弱类型碰撞,使用数组绕过即可(学嘛)

对key进行了一次绕过因此构造双重变量:kkeyey1和kkeyey2
最终payload:?kekeyy1[]=1&kekeyy2[]=2(即null==null)

20.成绩查询

审题
sql注入

解题
1.sqlmap工具注入
Bp抓包,复制内容为1.txt文件,移动到kali的家目录下
打开sqlmap
sqlmap -r “1.txt” -dump
直接爆破出flag
也可以按步骤一步步爆破

2.手注

21.秋名山车神(Py)

审题
解题

22.速度要快(Py)

审题
解题

23.cookies(Py)

审题
解题

24.web21(PHP)

审题
解题

25.web22(+命令执行)

审题
解题

26.web23(正则)

审题
解题

27.web24(PHP)

审题
解题

28.web25

审题
解题

29.web26

审题
解题

30.web27

审题
解题

总结

以上是内存溢出为你收集整理的Bugku刷题--WEB篇全部内容,希望文章能够帮你解决Bugku刷题--WEB篇所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1000534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存