当前位置:网站首页>碎知识...
碎知识...
2022-06-21 11:13:00 【哇咔哇咔哇咔哇咔】
php代码
curl_init : 初始化一个cURL会话,供curl_setopt(), curl_exec()和curl_close() 函数使用。
curl_setopt : 请求一个url。
其中CURLOPT_URL表示需要获取的URL地址,后面就是跟上了它的值。
CURLOPT_RETURNTRANSFER 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
curl_exec,成功时返回 TRUE, 或者在失败时返回 FALSE。 然而,如果 CURLOPT_RETURNTRANSFER选项被设置,函数执行成功时会返回执行的结果,失败时返回 FALSE 。
CURLINFO_HTTP_CODE :最后一个收到的HTTP代码。
curl_getinfo:以字符串形式返回它的值,因为设置了CURLINFO_HTTP_CODE,所以是返回的状态码。
如果状态码不是404,就返回exec的结果。
PHP escapeshellarg()+escapeshellcmd() 之殇
exp=highlight_file(next(array_reverse(scandir(pos(localeconv())))));
highlight_file() 函数对文件进行语法高亮显示,本函数是show_source() 的别名
next() 输出数组中的当前元素和下一个元素的值。
array_reverse() 函数以相反的元素顺序返回数组。(主要是能返回值)
scandir() 函数返回指定目录中的文件和目录的数组。
post() 输出数组中的当前元素的值。
localeconv() 函数返回一个包含本地数字及货币格式信息的数组,该数组的第一个元素就是"."。
原理:
loacleconv 函数会固定返回一个 . 然后pos将我们获得的 .返回到我们构造的 payload 使得 scandir能够返回当前目录下的数组(换句话说,就是读出当前目录下的文件) rray_reverse()以相反的顺序输出(目的是以正序输出查询出来的内容)然后 next 提取第二个元素(将.过滤出去),最后highlight_file()给显示出来。
preg_replace()函数最后以/e结尾时,会存在命令执行漏洞,也就是说如果有/e,并且匹配到符合正则表达式的字符串,那么第二个参数的字符串将被当做代码来执行
-
正则表达式的\S:匹配所有非空白字符;
.号:匹配除\n外的任意字符;
*号:匹配前面的字符0次或者多次
+号:匹配前面的字符1次或者多次(如果要在url里输入+号,必须要对其进行编码,+号编码为:%2b)
_
php里,如果 双引号中有变量,那么php解释器会将其替换为变量解释后的结果,但单引号中的变量不会被处理(不过双引号中的函数不会被执行
WEB-INF/web.xml泄露
WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。WEB-INF主要包含一下文件或目录:
/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties:数据库配置文件
漏洞成因:通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码。一般情况,jsp引擎默认都是禁止访问WEB-INF目录的,Nginx配合Tomcat做均衡负载或集群等情况时,问题原因其实很简单,Nginx不会去考虑配置其他类型引擎(Nginx不是jsp引擎)导致的安全问题而引入到自身的安全规范中来(这样耦合性太高了),修改Nginx配置文件禁止访问WEB-INF目录就好了:location ~ ^/WEB-INF/* { deny all; } 或者return 404; 或者其他!
边栏推荐
- C语言初阶(十)类型重命名typedef
- MySQL - data type
- 15+ urban road element segmentation application, this segmentation model is enough!
- Runaway player
- Research on DDoS protection for overseas business of Chinese Enterprises
- fix libpng warning: iCCP: Not recognizing known sRGB profile ......
- 一款完整开源的物联网基础平台
- Kotlin - I/O流
- 告别无尽盛夏
- Operation and maintenance security, not so simple
猜你喜欢

NLog自定义Target之MQTT

失控玩家

Young people are reluctant to change their mobile phones, because they choose a more durable iPhone, and the parameter theory of domestic mobile phones is invalid

Secret magic weapon

Feature metric loss for self supervised learning of depth and egomotion

R&S示波器软件,罗德与施瓦茨示波器上位机软件NS-Scope介绍

Summary of mapping methods (chain mapping method using hash map)

贺志理:红树林湿地沉积物中微生物驱动的碳氮硫磷循环及其耦合机制

OpenGL学习笔记之坐标变换学习

15+ urban road element segmentation application, this segmentation model is enough!
随机推荐
Messageformat usage
STL summary
QML introduction to advanced
Summary of mapping methods (chain mapping method using hash map)
Citus 11 for Postgres 完全开源,可从任何节点查询(Citus 官方博客)
5 best practices for perfect security code auditing
QT operation on SQLite database multithreading
2022年最强八股文《码出八股文-斩出offer线》
从零走进软件开发的世界
C# Cannot access child value on Newtonsoft. Json. Linq. JProperty
C语言初阶(九)枚举
领导:谁再用redis过期监听实现关闭订单,立马滚蛋!
【obs】libobs_winrt.dll
求你了,别在高并发场景中使用悲观锁了!
Secret magic weapon
Solon 1.8.3 release, cloud native microservice development framework
A complete open source Internet of things basic platform
DevSecOps:初入江湖
postgresql 按日期范围查询
Citus 11 for Postgres 完全开源,可从任何节点查询(Citus 官方博客)