
ctf
一些平台的ctf题解
wssmiss
学学学 无止境
展开
-
极客大作战hard SQL--各种绕过
极客大作战—hard SQL考察对sql特殊字符与函数的绕过尝试一下单引号报错注释符无效 应该是被过滤了#为被过滤但是无效。。看来只能手动闭合username处的引号 构造语句后面加and ‘1Admin’ and ‘1发现有字符被抓到了,不是空格就是and空格去掉发现and被过滤And用异或^代替,成功绕过测试空格是否被过滤,果然被过滤了用/**/注释符无法绕过...原创 2020-04-28 23:24:26 · 434 阅读 · 2 评论 -
http中的XFF(X-Forwarded-For)
详细知识请移步大佬网页原创 2019-07-21 14:22:23 · 8363 阅读 · 0 评论 -
php中=== 与 == 的区别
php中的===与== 的区别:$str = “0d52”; If (0==$str) {echo “真”} else {echo “假”} 这段程序的结果是 “0d52”居然 被PHP认为和0相等了。 为什么会出现这样的情况呢? 执行关系运算”==“时要求运算符两边的数据 类型必须一致,所以等号右边的字符串被强制 转换为了整型0。这就是许多弱类型语言的缺点。 这种错误在我们的程序中是不能...原创 2019-07-21 13:54:33 · 194 阅读 · 0 评论 -
PHP中的MD5碰撞
php在处理哈希字符串时,会把每一个以“0E”或“0e”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以“0e”开头的,那么php将会认为他们都相同,都是0利用这一漏洞,输入一个哈希后以“0e”开头的字符串,php会解释为0,如果数据库中存在这种哈希值以“0e”开头的密码的恶化,他就可以以这个用户的身份登陆进去,尽管并没有真正的密码常用的以0e开头的md5和原值:...原创 2019-07-21 13:47:44 · 1371 阅读 · 0 评论 -
Session原理
session的基本原理及安全性1.session原理提到session,大家肯定会联想到登录,登录成功后记录登录状态,同时标记当前登录用户是谁。功能大体上就是这个样子,但是今天要讲的不是功能,而是实现。通过探讨session的实现方式来发掘一些可能你之前不知道的有趣的事情。为了记录session,在客户端和服务器端都要保存数据,客户端记录一个标记,服务器端不但存储了这个标记同时还存储了这个...转载 2019-03-23 23:52:55 · 279 阅读 · 0 评论 -
ctf web中快速反弹
**原文:**https://ciphersaw.me/2017/12/16/详解 CTF Web 中的快速反弹 POST 请求/原文作者:Cipher Saw0x00 前言在 CTF Web 的基础题中,经常出现一类题型:在 HTTP 响应头获取了一段有效期很短的 key 值后,需要将经过处理后的 key 值快速 POST 给服务器,若 key 值还在有效期内,则服务器返回最终的 flag...转载 2019-03-25 20:22:40 · 650 阅读 · 0 评论 -
php文件上传漏洞
大佬原文地址:https://blog.youkuaiyun.com/ski_12/article/details/54669614文件上传漏洞文件上传漏洞是指由于服务器对于用户上传部分的控制不严格导致攻击者可以上传一个恶意的可执行的文件到服务器。简单点说,就是用户直接或者通过各种绕过方式将webshell上传到服务器中进而执行利用。DVWA中的文件上传漏洞首先保存一句话木马为1.php文件:<...转载 2019-03-06 12:28:59 · 4170 阅读 · 0 评论 -
flag在index里,php://filter协议
题目连接http://123.206.87.240:8005/post/题目点击之后出现地址栏:http://123.206.87.240:8005/post/index.php?file=show.php 观察此题的切入点应该在文件包含漏洞,而且是php...原创 2019-03-06 13:09:30 · 775 阅读 · 0 评论 -
XCTF:Web – I-got-id-200 (Perl语言与linux命令)
Perl语法及特性学习和web CGI接口编程,linux命令以及管道操作初窥题目打开网站有三个指向网页第一个网页是个pl页面,而且可以发现url处,不是我们常见的php语言,jsp,asp语言。而是.pl后缀,查了一下是perl语言。Perl:一种脚本语言,也是胶水语言,拥有巨大的第三方库CPAN,可以用来做web编程,而且对于文件操作方便快捷。第二个网页是个表...原创 2020-04-19 19:33:30 · 645 阅读 · 0 评论 -
Xctf isc-07 apache2解析漏洞,php弱类型
Xctf isc-07题目描述:工控云管理系统项目管理页面解析漏洞找到index.php页面,有一个view source点击查看审计三个php代码段可以找到突破点第一段是个简单重定向,get参数page不为index.php即可第二段 需要得到一个admin的session,之后可以post传入con与file两个参数File参数是自定义的文件名字,之后会处理为backup...原创 2020-04-16 22:38:22 · 619 阅读 · 0 评论 -
BugKu:cookies 欺骗
题目链接http://123.206.87.240:8002/web11/查看源码后没有可用信息观察url发现参数filename的值加密了解密后filename=keys.txt尝试用修改参数filename的值为index.php(注意此处要用base64加密为aW5kZXgucGhw)发现参数line没有给值,随意赋值如3,出现写脚本抓原代码,先试一下有多少行,100,50...原创 2019-03-25 21:39:02 · 1563 阅读 · 3 评论 -
bugku 管理员的系统(X-forwarded-for)
管理员的系统猜测应该要使用本地ip访问想到XFF,详细知识请移步大佬网页于是用burpsuit抓包,抓包后改写报头,加入X-Forward-For:127.0.0.1 伪造是本地ip请求服务器之后在这里卡了很久,没有其他线索,也拿不到flag,直到,,,我打开了网页源代码!!!base64解码后test123猜测可能是管理员密码Go一下,得到flag...原创 2019-07-21 14:21:43 · 283 阅读 · 0 评论 -
bugku web4
web4根据eval中的unescape函数可以确定前面p1,p2是escape加密解密后得到unescape(p1)= function checkSubmit(){var a=document.getElementById("password");if("undefined"!=typeof a){if("67d709b2b';unescape(’%35%34%61%61%32’+...原创 2019-07-21 14:27:51 · 275 阅读 · 0 评论 -
bugku 网站被黑(后台目录,爆破)
题目分析上御剑扫后台目录,发现webshell/shell.php ,打开网页爆破得到密码hack原创 2019-07-21 14:29:02 · 1403 阅读 · 0 评论 -
bugku头等舱(报头)
题目分析用burp抓包,查看http的报头原创 2019-07-21 14:30:51 · 153 阅读 · 0 评论 -
bugku web5 (jsFuck代码)
题目:分析点击提交后出现查看网页源代码,发现一段jsFuck脚本在控制台运行jsfuck脚本拿到flag原创 2019-07-21 14:35:02 · 767 阅读 · 0 评论 -
bugku INSERT INTO注入(基于时间的盲注,详细教程)
题目链接地址:http://123.206.87.240:8002/web15/分析打开页面后:分析页面的php代码通过源码分析,注入点在x-forwarded-for:client,proxy1,proxy2的clienr处。获取用户ip,并把ip插入到client_ip表中的ip列中因为源码第一行,关闭了错误报告,所以没有回显。在此采取基于时间的盲注...原创 2019-07-22 18:14:07 · 1499 阅读 · 2 评论 -
bugku 求getshell
题目分析典型的文件上传漏洞上传php图片马上传成功!保存路径是http://123.206.87.240:8002/web9/upload/20190719162955_303.jpg用菜刀发现一直连不上可能是后台直接删掉了,此路不通参考大佬们的wp后发现此题本意是1、扩展名filename2、filename下面一行的Content-Type:image/jpeg3、最...原创 2019-07-23 14:01:52 · 471 阅读 · 0 评论 -
bugku 这是个神奇的登陆框
题目链接:http://123.206.87.240:9001/sql/输入admin ,admin 没有回显。根据url的提示很明显是一个sql注入。用burpsuit抓包,放到sqlmap里跑一下看看右键保存至桌面为“1.txt”打开sqlmap,输入指令sqlmap -r "1.txt" -p admin_name --dbs-r 表示读文件 。-p为指定参数 --db...原创 2019-07-23 14:48:50 · 191 阅读 · 0 评论 -
bugku 变量一(var_dump())
题目:分析根据题目的提示,构造payloadhttp://123.206.87.240:8004/index1.php?args=GLOBALS即可拿到flagvar_dump()函数原创 2019-07-21 14:19:32 · 835 阅读 · 0 评论 -
bugku 本地包含(file函数,eval)
本地包含eval 参数有注入点,构造hello=file(“flag.php”)拿到falg!file() 函数把整个文件读入一个数组中。与 file_get_contents() 类似,不同的是 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败,则返回 false。file(path,include_path,context)...原创 2019-07-21 14:11:35 · 806 阅读 · 0 评论 -
buku 你必须让他停下
你必须让他停下:查看源码发现“1.jpg” “flag is here”多次查看,每次出现的数字不同抓包看一下放到repeater里面,不断的go ,发现到10的时候,出现flag...原创 2019-07-21 14:07:23 · 159 阅读 · 0 评论 -
sql注入学习
sql注入的简单介绍sql注入的原理;攻击者利用web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系统游曳数意义的负号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后台数据库乃至整个应用系统的入侵代码示例正常情况:一个登陆界面,用户输入用户名和密码后,如id=112145 ,password=abcd其php连接后台数据库执行的代码是 select...原创 2019-07-10 22:12:11 · 306 阅读 · 0 评论 -
bugku 字符?正则?正则表达式详解
题目代码分析highlight_file(filename,return):对文件进行语法高亮显示filename 要进行高亮处理的php文件路径return 若为true则返回高亮代码preg_mach(string a, atring b,array matches):执行匹配正则表达式a是正则表达式,b是输入的字符串,matches是被填充为搜索结果,trim() 函数移除字...原创 2019-04-17 17:57:09 · 573 阅读 · 0 评论 -
bugku:过狗一句话
题目php代码explode(a,b,c):把字符串打散为数组,a为分隔符且不为空,b为待打散的字符,c规定所返回的数组元素的数目 0代表返回博阿寒一个元素的数组,大于0返回包含最多c个元素的数组。小于0,返回包含除最后的limit个元素意外的所有元素的数组代码poc_1是一个数组有a,s,s,e,r,t五个元素poc_2是assert函数 对传入的s进行操作注:函数assert是检...原创 2019-04-16 20:41:43 · 378 阅读 · 0 评论 -
BugKu:never give up
题目查看源代码:根据提示打开lp.html中间有一段base64编码和url编码var Words ="< !–JTIyJTNCaWYlMjglMjElMjRfR0VUJTVCJTI3aWQlMjclNUQlMjklMEElN0IlMEElMDloZWFkZXIlMjglMjdMb2NhdGlvbiUzQSUyMGhlbGxvLnBocCUzRmlkJTNEMSUyNyUyO...原创 2019-04-16 14:49:12 · 387 阅读 · 0 评论 -
Bugku web:听说备份是个好习惯
题目连接:http://123.206.87.240:8002/web16/提示:备份打开之后只有一段字符串查看源代码后也没有其他发现观察字符串应是加密过的,而且前后两段密文相同。用MD5解密后是空密码,也就是NULL抓包试了一下没有额外信息上御剑扫扫看看,发现index.php.bak 打开下载文件源码如下分析代码,得到flag的条件是key1和key2的值不相同但是md...原创 2019-03-14 11:22:49 · 255 阅读 · 0 评论 -
bugku web:点击一百万次
题目地址http://123.206.87.240:9001/test/题目每次点击goal的分子会改变,右键查看源代码主要查看js部分抓包看一下,其实每次点击只是修改了click的值,并没有跳到新的网页将头部get修改为post,加上click参数发过去拿到flag...原创 2019-03-06 14:45:42 · 464 阅读 · 0 评论 -
bugku web:输入密码查看flag
题目解题打开网页可看到提示很明显,直接爆破完事原创 2019-03-06 14:29:40 · 1021 阅读 · 0 评论 -
CTF隐写常用:常见文件头文件尾总结
文件头文件尾总结JPEG (jpg),文件头:FFD8FF 文件尾:FF D9 PNG (png), 文件头:89504E47 文件尾:AE 42 60 82GIF (gif), 文件头:47494638 文件尾:00 ...转载 2019-03-02 01:08:20 · 5341 阅读 · 0 评论 -
bugku:MD5 collision(php中的md5碰撞)
php在处理哈希字符串时,会把每一个以“0E”或“0e”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以“0e”开头的,那么php将会认为他们都相同,都是0利用这一漏洞,输入一个哈希后以“0e”开头的字符串,php会解释为0,如果数据库中存在这种哈希值以“0e”开头的密码的恶化,他就可以以这个用户的身份登陆进去,尽管并没有真正的密码常用的以0e开头的md5和原值:...原创 2019-04-17 18:34:26 · 1399 阅读 · 0 评论 -
bugku:你从哪里来(http referer)
抓包添加referer参数go!拿到flag注:HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。...原创 2019-04-18 21:45:48 · 210 阅读 · 0 评论 -
bugku 域名解析(/etc/hosts)
域名解析:首先在终端需要管理员权限进入**/etc/hosts** 修改映射打开浏览器拿flag注:/etc/hosts 这个文件显示了域名和网址之间的映射情况。在这个文件里出现的网址,访问的时候不需要使用DNS协议,而是直接读取域名。...原创 2019-07-21 14:06:05 · 229 阅读 · 0 评论 -
bugku 矛盾(php中==的特点)
矛盾:不是数字则输出,进入下一个if判断,是1才输出flag。利用php的特点,输入1a,1b,1c 。。。再判断是否为数字时,不是数字,与1比较时是 1在php中 == 要求两边的数据类型一致,所以在比较时,会把“1a”字符串强制转换成整型数据...原创 2019-07-21 14:02:57 · 238 阅读 · 0 评论 -
各种绕过
题目分析代码审计1:get传参id为margin2:get传入uname,post传入passwd ,两者不同但sha-1相同利用sha1函数的特点,不能处理字符串,利用数组,使函数返回false得到flag...原创 2019-07-17 23:21:52 · 317 阅读 · 0 评论 -
bugku 细心(爬虫协议,x-forward-for)
题目分析查看源代码没有有效信息御剑扫一下后台发现robots.txt打开robots.txt 是一个爬虫协议声明所有搜索引擎禁止收录本站的resusl.php手动打开此页面提示ip被封,那我们就用本地ip访问试试加入X-Forward-For:127.0.0.1根据最后一行提示,猜测x的值可能为adminpayload:/resusl.php?x=admin-For...原创 2019-07-18 23:35:26 · 444 阅读 · 0 评论 -
bugku web8
题目分析extract() 函数从数组中将变量导入到当前的符号表,该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。该函数返回成功设置的变量数目trim(string,charlist) 函数移除字符串两侧的空白字符或其他预定义字符。php中的===与== 的区别:$str = “0d52”; If (0==$str) {...原创 2019-07-18 23:12:32 · 291 阅读 · 0 评论 -
前女友(SKCTF)
解题思路根据提示应该是php上御剑扫描后台目录原创 2019-07-11 23:53:27 · 260 阅读 · 0 评论 -
welcome to the bugkuctf(php://input和php://filter伪协议)
题目解题思路查看源代码源码审计:user存在,且是一个文件,通过file_get_contents()将文件读入字符串r==“welcome to the bugkuctf”之后会打印输出“hello admin”,并且包含file文件。此处根据提示,file应该是hint.php要想传入一个文件,可以利用php://input伪协议preg_match()返回 patt...原创 2019-07-12 22:07:39 · 1179 阅读 · 0 评论 -
Bugku web基础题(get 、post)
web基础get:web基础post:burp抓包,改包,报头改为POST,结尾加上参数what=flag矛盾:不是数字则输出,进入下一个if判断,是1才输出flag。利用php的特点,输入1a,1b,1c 。。。再判断是否为数字时,不是数字,与1比较时 是 1域名解析:首先在终端需要管理员权限进入/etc/hosts 修改映射打开浏览器拿flag你必须让他停下:查...原创 2019-03-01 12:58:26 · 1575 阅读 · 1 评论