
BugkuCTF-WEB
本人由2021年5月29日注册加入bugku平台进行CTF训练,经过两个月的努力,个人排名由一万多名上升到前25名,从一个零基础的小白到网络安全基础得到质的飞跃,,但还是一个在网安路上徘徊的小菜鸡,这段时间会将已做题目的题解放在这个专栏里显示,希望和大佬们进行交流
彬彬有礼am_03
这个作者很懒,什么都没留下…
展开
-
BugkuCTF-WEB题文件上传
启动场景发现是文件上传只能上传图像,不能上传PHP文件,那应该是寻找漏洞上传PHP文件PHP文件里写入一句话木马<?php @eval($_POST[caidao]);?>使用burp抓包,不断尝试发现发现需要修改的地方有三个:一个是http head里的Content-Type: multipart/form-data;请求头部的 Content-Type 内容 随便改个大写字母过滤掉 比如 mulTipart/form-data (其t为大写)Multipart里的部分字母原创 2021-09-08 23:23:08 · 2402 阅读 · 2 评论 -
BugkuCTF-WEB题需要管理员
提示:好像需要管理员御剑扫描一下后台,发现robots.txt,访问提示/resusl.php,继续访问,发现要传入一个参数x,并且x的值是要等于password,采用burp爆破得到密码是admin,其实题目好像需要管理员,这里就可以猜到x=admin...原创 2021-08-29 00:03:17 · 866 阅读 · 0 评论 -
BugkuCTF-WEB题file_get_contents
知识点empty() 函数用于检查一个变量是否为空。empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。extract()函数从数组里将变量导入到当前的符号表。extract函数:可以进行变量覆盖。语法:extract(array,extract_rules,prefix)该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组里的各元素,将在当前符号表里创建对应的一个变量。第二原创 2021-08-29 00:03:38 · 7071 阅读 · 0 评论 -
BugkuCTF-WEB题程序员本地网站
在BurpSuite里添加X-Forwarded-For: 127.0.0.1原创 2021-08-29 00:03:51 · 232 阅读 · 0 评论 -
BugkuCTF-WEB题MD5
解题流程打开页面:根据提示:md5 collision找一个以0e开头的md5值0e开头MD5值小结s878926199a0e545993274517709034328855841020s155964671a0e342768416822451524974117254469s214587387a0e848240448830537924465865611904s214587387a0e848240448830537924465865611904s878926199a0e54599原创 2021-08-29 00:04:02 · 427 阅读 · 0 评论 -
BugkuCTF-WEB题你从哪里来
知识点Referer的作用为告诉服务器请求是从哪里来的这道题考察的是HTTP header里的Referer字段,Referer是HTTP请求头信息里面的一个常见字段,它提供了访问来源的信息。比如说,在某网站上看到一个广告并点了进去,那么我就可能会在HTTP 协议在请求(request)的头信息里面看到Referer这一字段给出“引荐网页”的URL,让人知道我们是通过“某网站”进入的这个广告页。打开网页,只有一句话:are you from google?看起来需要告诉服务器,请求来源于goool原创 2021-08-29 00:04:13 · 721 阅读 · 0 评论 -
BugkuCTF-WEB题login1
知识点存在SQL约束攻击的网站,注册时通过数据库已有账户例如admin+大量空格,随意密码点击注册,后端先在数据库查找select,将已有账户扩充相同长度,已有账户与注册账户(有大量空格)不等,因为有效长度不同(已有账户扩充的长度不为有效长度),之后插入insert,截断注册账户的多余长度,但后面为大量的空格,由于在SQL里执行字符串处理时,字符串末尾的空格符将会被删除,所以最后插入的注册账户即为已有账户admin,密码成为注册时的密码,即可成功登陆。补充:简单来说:就是在注册页面通过大量空格来超过s原创 2021-08-29 00:05:18 · 1518 阅读 · 0 评论 -
BugkuCTF-WEB题前女友
解题流程0、打开网页发现其内有一个链接1、点击链接,查看PHP源代码<?phpif(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){ // 检测以GET方式传入的三个参数 v1、v2、v3 $v1 = $_GET['v1']; // 变量v1等于传入的参数v1 $v2 = $_GET['v2']; // 变量v2等于传入的参数v2 $v3 = $_GET原创 2021-08-29 00:05:14 · 508 阅读 · 0 评论 -
BugkuCTF-WEB题give_up
知识点拿到源码后,就要考虑几个绕过的方法:==的弱比较:0e和“字符串”;php的伪协议;eregi的绕过:%00的截断(而\x00会将url后面的都截断,我们的目的是在执行到变量时实现截断)和*123123。解题流程打开网页如下熟悉的?id=看起来好像有sql注入,通过sqlmap跑一遍发现并没有F12查看一下源代码有注释!,1p.html.查看一下这个网址。跳转到论坛了 ,Burp抓不到包因为跳转处理在服务器F12查看网络这里发现301重定向。那要看1p.html,通过bu原创 2021-08-29 00:05:10 · 488 阅读 · 0 评论 -
BugkuCTF-WEB题cookie欺骗
知识点isset: 检测变量是否设置,并且不是 NULL$_GET:收集来自 method=“get” 的表单里的值intval() 函数用于获取变量的整数值。in_array() 函数搜索数组里是否存在指定的值。举例:<?php$am = array("Bill", "Steve", "trump", "David");if (in_array("trump", $am)) { echo "匹配已找到"; }else { echo "匹配未找到"; }?&原创 2021-08-29 00:05:05 · 1138 阅读 · 0 评论 -
BugkuCTF-WEB题速度要快
打开网页,只看到一句话:我感觉你得快点!!!F12查看源代码发现了提示:OK ,now you have to post the margin what you find需要以POST方式传参,先用BrupSuite抓包看一下1、使用BrupSuite抓包并重新发送发送后看到flag2、使用base64解码跑的还不错,给你flag吧: MTMyOTIx3、继续进行一次base64解码4、通过post方法上传margin=132921还要再快点,看来有时间限制,不过已经有了思路原创 2021-08-28 16:30:05 · 849 阅读 · 0 评论 -
BugkuCTF-WEB题秋名山车
打开网页,题目让我们计算车速,限时2s,并且通过POST方式传递结果再刷新几次,显示:手动计算并传值一定会超过2s的时间限制,因此我们编写python脚本实现(参考车速脚本.py)编写python脚本并运行(这里需要requests和re两个库)import requestsimport re url = '''http://114.67.246.176:15506/'''s = requests.session() #//通过session会话保持表达式是同一个 retuen =原创 2021-08-28 16:30:30 · 428 阅读 · 0 评论 -
BugkuCTF-WEB题web16备份是个
知识点ini_set — 为一个配置选项设置值PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便strstr — 查找字符串的首次出现,strstr() 函数搜索字符串在另一字符串里的第一次出现。实例查找 “python” 在 “I love python!” 里的第一次出现,并返回字符串的剩余部分:echo strstr(“I love python!”,“python”);返回pyt原创 2021-08-28 16:29:55 · 146 阅读 · 0 评论 -
BugkuCTF-WEB题好像需要密码
一个五位数密码老实说burp跑的话能跑一天89999次burp真的太慢了这次用python脚本顺便学一学requests库输入密码,得到flag原创 2021-08-26 19:51:22 · 525 阅读 · 0 评论 -
BugkuCTF-WEB题文件包含
1.打开网页,点击click me? no链接URL栏里显示:http://114.67.246.176:15077/index.php?file=show.php,可能存在文件包含漏洞这里介绍一下:php:// 协议条件:allow_url_fopen:off/onallow_url_include :仅php://input php://stdin php://memory php://temp 需要on作用:php:// 访问各个输入/输出流(I/O streams),在CTF里经原创 2021-08-26 19:41:27 · 879 阅读 · 0 评论 -
BugkuCTF-WEB题源码
根据提示查看源码有URL编码解码并将其拼接有一个假flag提交得到真flag原创 2021-08-26 18:35:02 · 337 阅读 · 0 评论 -
BugkuCTF-WEB题本地管理员
基础知识:base64: 是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一类基于64个可打印字符来表示二进制数据的方法。XFF伪造请求头: X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原本的IP地址的HTTP请求头字段。简单来说,XXF是告诉服务器当前请求者的最后ip的http请求头字段,通常可以直接通过修改http头里的X-Forwarded-For字段来仿造请求的最后ip。打开场景:为一个登录界面尝试输原创 2021-08-25 23:06:51 · 1976 阅读 · 0 评论 -
BugkuCTF-WEB题网站被黑
利用御剑扫描后台或者通过dirsearch扫描一下目录看看得到http://1147.67.246.176:15607/shell.php打开这个网址发现需要登录密码通过Burp添加字典爆破密码为hack输入得到flag原创 2021-08-25 23:03:24 · 222 阅读 · 0 评论 -
BugkuCTF-WEB题eval
基础知识:var_dump() 函数用于输出变量的相关信息。var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。此题考察php相关include是将flag.php文件包含进页面代码$request可用于接受get和post的传递的参数eval函数可以把字符串作为php命令执行知道这些你就可以用get方法传递hello变量,并在hello其内写入查看flag.php的命令了?hello=file(‘flag.php’)原创 2021-08-25 21:16:12 · 1375 阅读 · 0 评论 -
BugkuCTF-WEB题alert
启动场景:flag{68d5caaa10c5d1007611859e57ad318d}将框里的unicode编码解码为ASCII即可得到flagflag{68d5caaa10c5d1007611859e57ad318d}原创 2021-08-25 21:15:34 · 771 阅读 · 1 评论 -
BugkuCTF-WEB题矛盾
基础知识:is_numeric() 函数用于检测变量是否为数字或数字字符串。若指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回空值,即 FALSE。PHP一个数字和一个字符串进行比较或者进行运算时,PHP会把字符串转换成数字再进行比较。PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0。 在PHP里,== 会先进行类型转换,再进行对比,而===会先比较类型,如果类型不同直接返回不相等。不能是数字,还得弱等于1,这就用到字符’1qwk’原创 2021-08-25 21:13:33 · 212 阅读 · 0 评论 -
BugkuCTF-WEB题GET和POST
GET开启场景:比较简单的get,构造payload?what=flag,得到flagPOST简单post,Firefox打开,F12弹出hackbar插件,添加post/what=flag,请求得到flag原创 2021-08-25 21:13:00 · 646 阅读 · 0 评论 -
BugkuCTF-WEB题计算器
将maxlength=1改为maxlength长度改大即可原创 2021-08-25 21:15:54 · 168 阅读 · 0 评论 -
BugkuCTF-WEB题bp
查看题目的提示和描述尝试输入admin,zxc111,失败admin,zxc123,竟然成功登录界面这题这么随便的吗?真服!也可进行爆破得到密码flag{a03c860c57aca1c9697d8007f358cf1f}原创 2021-08-24 21:37:19 · 618 阅读 · 1 评论