- 【漏洞分享】2018年-2024年HVV 6000+个漏洞 POC 合集分享
漏洞文库-Web安全
漏洞复现web安全python安全测试工具网络安全
此份poc集成了Zabbix、用友、通达、Wordpress、Thinkcmf、Weblogic、Tomcat等下载链接:链接:https://pan.quark.cn/s/1cd7d8607b8a
- 【漏洞利用】2018年-2024年HVV 6000+个漏洞 POC 合集分享
baiolkdnhjaio
漏洞复现网络安全web安全安全
此份poc集成了Zabbix、用友、通达、Wordpress、Thinkcmf、Weblogic、Tomcat等下载链接:链接:https://pan.quark.cn/s/1cd7d8607b8a
- 在springboot中,利用xml配置mybatis的方法
猪猡猪猡猪
javamybatismybatisspringbootxmljavamysql
前置步骤参考博客:SpringBoot配置Mybatis的两种方式(通过XML配置和通过YML配置文件配置)_Darreni的博客-CSDN博客但按照博客中的关键代码和步骤创建的项目无法启动启动报错:Description:FailedtoconfigureaDataSource:'url’attributeisnotspecif:Reason:Failedtodetermineasuitable
- tomcat启动报错 Failed to introspect Class [org.mybatis.spring.SqlSessionFactoryBean]
alike_meng
小操作tomcatmybatisspring
java.lang.IllegalStateException:FailedtointrospectClass[org.mybatis.spring.SqlSessionFactoryBean]fromClassLoader[ParallelWebappClassLoaderpom.xml里面的一些依赖不兼容。我之前都是用的最新版的依赖,就报这个错。然后所有依赖都改成了跟教学视频一样的版本就不报错
- Nginx
砌月东谷
一、Nginx简介1.Nginx是什么??Nginx(enginex)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器?Nginx可以作为一个Web服务器进行网站的发布,也可以作为反向代理服务器进行负载均衡的实现?常见的Web服务器:Tomcat、Apache、Nginx、Weblogic等2.特点占用内存少、并发能力强二、搭建Nginx环境1.安装nginx?两
- spring boot jar 启动报错 Zip64 archives are not supported
赵丙双
javaspringbootjarzipzip64loader
springbootjar启动报错Zip64archivesarenotsupported原因、解决方案问题为什么springboot不支持zip64zip、zip64功能上的区别zip的文件格式spring-boot-loader是如何判断是否是zip64的?参考springboot版本是2.1.8.RELEASE,引入以下phoenix依赖之后启动报错。org.apache.phoenixph
- weblogic-SSRF漏洞复现(SSRF原理、利用与防御)
不想当脚本小子的脚本小子
中间件漏洞复现SSRF安全
一、SSRF概念服务端请求伪造(Server-SideRequestForgery),是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片、文档等等。首先,我们要对目标网站的架构了解
- 若依ruoyi-ui执行npm run dev启动报错:esnext.set.difference.v2.js in ./src/utils/index.js 处理方案
爱摄影的程序猿
uinpm前端
一、错误现象:ERRORFailedtocompilewith7errors09:05:43Thesedependencieswerenotfound:*core-js/modules/esnext.set.difference.v2.jsin./src/utils/index.js*core-js/modules/esnext.set.intersection.v2.jsin./src/util
- ERROR:master启动报错: Attempting to operate on hdfs namenode as root
CourageLee
Dockerhadooplinux
[root@masterhadoop]#sbin/start-all.shStartingnamenodeson[master]ERROR:AttemptingtooperateonhdfsnamenodeasrootERROR:butthereisnoHDFS_NAMENODE_USERdefined.Abortingoperation.StartingdatanodesERROR:Attemp
- 启动oracle 报错,Oracle启动报错 ORA-01078: failure in processing system parameters
weixin_39789690
启动oracle报错
Oracle启动报错ORA-01078:failureinprocessingsystemparameters问题原因其实是非常的简单了,我们来看看此问题的一些解决方法。报错:在启动Oracle数据库时报错,如下:[oracle@localhost~]$sqlplus/assysdbaSQL*Plus:Release11.2.0.1.0ProductiononSatFeb1619:43:43201
- 【Azure 应用服务】Python3.7项目在引用pandas 模块后,部署报错
云中路灯
问题描述参考“快速入门:在Linux上的Azure应用服务中创建Python应用”文档,在AppServiceForLinux环境中部署Python应用,在添加了pandas,应用本地运行成功,但是部署到AppService后,启动报错:ApplicationError2021051101.png问题分析获取日志:可以通过高级工具(kudu)连接到AppService后台,因为是Linux系统,所
- 网络安全售前入门08安全服务——Web漏洞扫描服务
努力工作的网安人
安全服务安全web安全前端网络安全经验分享
目录1.服务概述2.服务内容2.1代码层安全2.2应用层安全3.服务工具4.服务输出1.服务概述Web漏洞扫描服务主要针对应用系统漏洞进行扫描,主要包括扫描WEB服务器(IIS、Websphere、Weblogic、Apache等)的漏洞;识别数据库类型;扫描第三方组件的漏洞;检测常见的WEB应用弱点,支持OWASPTOP10等主流安全漏洞。2.服务内容2.1代码层安全应用程序及代码在开发过程中,
- WARNING Memory overcommit must be enabled! Without it..问题处理
Bestest~
redismemory
文章目录一、问题出现二、解决方式三、补充其它一、问题出现redis容器方式启动报错WARNINGMemoryovercommitmustbeenabled!Withoutit,abackgroundsaveorreplicationmayfailunderlowmemorycondition.Beingdisabled,itcancanalsocausefailureswithoutlowmemo
- linux常用
从此肖郎是路人_6510
查询ip命令:ipaddr查询数据库状态Servicemysqldstatus数据库启动Servicemysqldstart启动报错pid运行yum-yinstallperlperl-devel或yum-yinstallautoconf再在mysql当前目录下设定目录的访问权限(注意后面的小点,表示当前目录)运行chown-Rmysql.chgrp-Rmysql.scripts/mysql_ins
- 【Linux】PyCharm无法启动报错及解决方法
不是AI
python软件操作Linuxlinuxpycharm运维
一、问题描述如图,笔者试图在Ubuntu18.04虚拟机上运行PyCharm开发工具(已安装,安装过程可以参考我的博客Ubuntu安装PyCharm),无法启动,报错:CannotconnecttoalreadyrunningIDEinstance.Exception:Process2574isstillrunning.报错截图如下:二、解决方法通过报错信息看出,出于某种原因,进程(PID为257
- Windows版nacos启动报错(nacos安装路径问题)
星牛君
javanacos
文章目录1、出错日志2、出错原因3、解决方案1、出错日志ErrorstartingApplicationContext.Todisplaytheconditionsreportre-runyourapplicationwith'debug'enabled.2021-10-2009:23:37,048ERRORApplicationrunfailedorg.springframework.beans
- hadoop启动报错处理
akuibpt23191
大数据操作系统
1.hadoop启动报错1.1.问题1util.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...usingbuiltin-javaclasseswhereapplicable主要是依赖包版本过低的问题。首先要定位问题,出现该问题的原因主要是hadoopnative下面的hadoop静态库的问题:libhadoop
- Web容器、Servlet容器、Spring容器、SpringMVC容器之间的关系
weixin_30270889
javaweb.xml
以下内容为个人理解,如有误还请留言指出,不胜感激!Web容器web容器(web服务器)主要有:Apache、IIS、Tomcat、Jetty、JBoss、webLogic等,而Tomcat、Jetty、JBoss、webLogic同时也是servlet容器,或者说他们还包含了servlet容器。没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示
- Eureka 集群启动报错
hello_zzw
JavajavaEureka
Eureka集群启动时,页面出现如下错误提示FreeMarkertemplateerror(DEBUGmode;useRETHROWinproduction!):Thefollowinghasevaluatedtonullormissing:==>replica.key[intemplate"eureka/navbar.ftl"atline68,column62]----Tip:It'sthest
- 【运维】永久关闭selinux不当,导致无法启动
虹梦未来
运维
现象:卡centosloading进度条按esc键发现,启动报错:FailedtoloadSElinuxpolicy,freezing可能的原因:selinux=disabled写错成disable或者错误的把selinuxtype改了,要改文中红框的部分。解决方案:1.重启2.出现选择画面的时候按e3.方向下键找到linux16这一行,在末尾添加上selinux=0,然后ctrl+x继续启动4.
- npm run serve启动报错npm ERR! Missing script: “serve“
熹小雨Marain
npm前端node.js
启动项目的时候用npmrunserve发现报了以下的错误解决方法:1.一般情况下,这个问题是因为package.json文件里面确实没有这里没有可能因为你的脚手架版本比较低,如果不想换,可以用这里面有的npmrundev去启动也是可以的npmrunserve和npmrundev区别:前者是vue-cli3.0版本,后者是vue-cli2.0版本2.还有一种情况也会报同样的错误就是你们看看你们是否在
- vue【opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]】
良辰美景好时光
vuevue.js前端
vue【opensslErrorStack:['error:03000086:digitalenveloperoutines::initializationerror']】一、Vue项目启动报错如下解决方式1:NodeJS版本过高解决方式2:添加项目启动参数endl一、Vue项目启动报错如下>
[email protected]>vue-cli-serviceserveBrowserslist:can
- 【Kibana启动报错】Unable to retrieve version information from Elasticsearch nodes.
飞奔在路上
elasticsearch大数据搜索引擎
项目场景:提示:这里简述项目相关背景:使用docker单机安装elasticsearch后再安装kibana时找不到es问题描述提示:这里描述项目中遇到的问题:具体报错信息[ERROR][elasticsearch-service]UnabletoretrieveversioninformationfromElasticsearchnodes.security_exception:[securit
- vue 启动报错--request to https://registry.npm.taobao.org/vue-cli failed, reason: connect ECONNREFUSED 12
Tan.]der
前端javaideavue
vue启动报错#requesttohttps://registry.npm.taobao.org/vue-clifailed,reason:connectECONNREFUSED127.0.0.1:1080,不能下载依赖,cnpmconfiglist-l解决办法打开/Users/你的计算机名/.npmrc文件(隐藏文件)然后在https-proxy="http://127.0.0.1:1080/"
- vue前端系统启动报错Module not found: Error: Can‘t resolve ‘sass-loader‘
加蓓努力我先飞
前端vue.jssass
1、确认项目中是否已安装node-sass包。sass-loader是依赖于node-sass包的,如果没有安装node-sass包,也会导致无法找到sass-loader包。npmlsnode-sass安装node-sass包:npminstall--save-devnode-sass2、确认项目中是否已安装sass-loader包。npmlssass-loader安装sass-loader包:
- 深度学习环境下一些有用的链接
星海之眸
UsefulLinksAboutsystem初始安装系统的一些主要链接Ubuntu16.04系统美化输入法的安装wechat安装matlab安装ubuntu下matlab启动报错java.lang.runtime.Exception**********************,则执行这个命令:sudochmod-Ra+rw~/.matlabAboutMachineLearningtensorflo
- MinIO启动报错“WARNING: Console endpoint is listening on a dynamic port...”
铁根
笔记miniotochooseastaticport
错误全貌:WARNING:Consoleendpointislisteningonadynamicport(35734),pleaseuse--console-address":PORT"tochooseastaticport.错误提示很明显,需要tochooseastaticport。我是自己写了一个shell启动MinIO,在shell中使用--console-address'部署minio的
- glusterfs——启动报错之一及解决方法
与之二三事、
排错glusterfs
安装好glusterfs启动的时候发现报错,脑子里突然闪过一句话遇事不决,可问春风,忍不住嘴里来了一句国粹,算了,遇事不决还是问问百度比较靠谱百度到的内容大多是修改配置文件,或者是更改路径,我直觉这个不太行,为啥觉得百度也不靠谱了那我索性来个终极奥义——卸载重装吧!!!说干就干,直接yumremove送它离开千里之外~~然后再次进行Yum重新安装,并查看端口因为之前已经卸载过版本过高的软件依赖包,
- antdpro complete版 启动报错 白屏 Absolute route path “/*“ nested under path “/user“ is not valid.
Distant Blue
antdesignpro前端antdproantdesignpro
报错日志当前环境尝试了其他版本的pro,还是不行。解决办法最终查到某位大佬的博客解决原文地址
- Weblogic下启用Gzip压缩
在Weblogic服务器下启用Gzip压缩可以帮助减少网络传输的数据量,提升网站性能。以下是在Weblogic下启用Gzip压缩的步骤:打开Weblogic的管理控制台。在控制台中,定位到你想要启用Gzip压缩的服务器实例。点击你选择的服务器实例,进入其配置页面。在配置页面中,找到"Web服务器"或"HTTP"的设置部分。在此设置部分中,你应该能找到一个名为"Gzip压缩"的选项。点击此选项。在"
- ViewController添加button按钮解析。(翻译)
张亚雄
c
<div class="it610-blog-content-contain" style="font-size: 14px"></div>// ViewController.m
// Reservation software
//
// Created by 张亚雄 on 15/6/2.
- mongoDB 简单的增删改查
开窍的石头
mongodb
在上一篇文章中我们已经讲了mongodb怎么安装和数据库/表的创建。在这里我们讲mongoDB的数据库操作
在mongo中对于不存在的表当你用db.表名 他会自动统计
下边用到的user是表明,db代表的是数据库
添加(insert):
- log4j配置
0624chenhong
log4j
1) 新建java项目
2) 导入jar包,项目右击,properties—java build path—libraries—Add External jar,加入log4j.jar包。
3) 新建一个类com.hand.Log4jTest
package com.hand;
import org.apache.log4j.Logger;
public class
- 多点触摸(图片缩放为例)
不懂事的小屁孩
多点触摸
多点触摸的事件跟单点是大同小异的,上个图片缩放的代码,供大家参考一下
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener
- 有关浏览器窗口宽度高度几个值的解析
换个号韩国红果果
JavaScripthtml
1 元素的 offsetWidth 包括border padding content 整体的宽度。
clientWidth 只包括内容区 padding 不包括border。
clientLeft = offsetWidth -clientWidth 即这个元素border的值
offsetLeft 若无已定位的包裹元素
- 数据库产品巡礼:IBM DB2概览
蓝儿唯美
db2
IBM DB2是一个支持了NoSQL功能的关系数据库管理系统,其包含了对XML,图像存储和Java脚本对象表示(JSON)的支持。DB2可被各种类型的企 业使用,它提供了一个数据平台,同时支持事务和分析操作,通过提供持续的数据流来保持事务工作流和分析操作的高效性。 DB2支持的操作系统
DB2可应用于以下三个主要的平台:
工作站,DB2可在Linus、Unix、Windo
- java笔记5
a-john
java
控制执行流程:
1,true和false
利用条件表达式的真或假来决定执行路径。例:(a==b)。它利用条件操作符“==”来判断a值是否等于b值,返回true或false。java不允许我们将一个数字作为布尔值使用,虽然这在C和C++里是允许的。如果想在布尔测试中使用一个非布尔值,那么首先必须用一个条件表达式将其转化成布尔值,例如if(a!=0)。
2,if-els
- Web开发常用手册汇总
aijuans
PHP
一门技术,如果没有好的参考手册指导,很难普及大众。这其实就是为什么很多技术,非常好,却得不到普遍运用的原因。
正如我们学习一门技术,过程大概是这个样子:
①我们日常工作中,遇到了问题,困难。寻找解决方案,即寻找新的技术;
②为什么要学习这门技术?这门技术是不是很好的解决了我们遇到的难题,困惑。这个问题,非常重要,我们不是为了学习技术而学习技术,而是为了更好的处理我们遇到的问题,才需要学习新的
- 今天帮助人解决的一个sql问题
asialee
sql
今天有个人问了一个问题,如下:
type AD value
A  
- 意图对象传递数据
百合不是茶
android意图IntentBundle对象数据的传递
学习意图将数据传递给目标活动; 初学者需要好好研究的
1,将下面的代码添加到main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:/
- oracle查询锁表解锁语句
bijian1013
oracleobjectsessionkill
一.查询锁定的表
如下语句,都可以查询锁定的表
语句一:
select a.sid,
a.serial#,
p.spid,
c.object_name,
b.session_id,
b.oracle_username,
b.os_user_name
from v$process p, v$s
- mac osx 10.10 下安装 mysql 5.6 二进制文件[tar.gz]
征客丶
mysqlosx
场景:在 mac osx 10.10 下安装 mysql 5.6 的二进制文件。
环境:mac osx 10.10、mysql 5.6 的二进制文件
步骤:[所有目录请从根“/”目录开始取,以免层级弄错导致找不到目录]
1、下载 mysql 5.6 的二进制文件,下载目录下面称之为 mysql5.6SourceDir;
下载地址:http://dev.mysql.com/downl
- 分布式系统与框架
bit1129
分布式
RPC框架 Dubbo
什么是Dubbo
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 集群容错: 提供基于接
- 那些令人蛋痛的专业术语
白糖_
springWebSSOIOC
spring
【控制反转(IOC)/依赖注入(DI)】:
由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。
简单的说:对象的创建又容器(比如spring容器)来执行,程序里不直接new对象。
Web
【单点登录(SSO)】:SSO的定义是在多个应用系统中,用户
- 《给大忙人看的java8》摘抄
braveCS
java8
函数式接口:只包含一个抽象方法的接口
lambda表达式:是一段可以传递的代码
你最好将一个lambda表达式想象成一个函数,而不是一个对象,并记住它可以被转换为一个函数式接口。
事实上,函数式接口的转换是你在Java中使用lambda表达式能做的唯一一件事。
方法引用:又是要传递给其他代码的操作已经有实现的方法了,这时可以使
- 编程之美-计算字符串的相似度
bylijinnan
java算法编程之美
public class StringDistance {
/**
* 编程之美 计算字符串的相似度
* 我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:
* 1.修改一个字符(如把“a”替换为“b”);
* 2.增加一个字符(如把“abdd”变为“aebdd”);
* 3.删除一个字符(如把“travelling”变为“trav
- 上传、下载压缩图片
chengxuyuancsdn
下载
/**
*
* @param uploadImage --本地路径(tomacat路径)
* @param serverDir --服务器路径
* @param imageType --文件或图片类型
* 此方法可以上传文件或图片.txt,.jpg,.gif等
*/
public void upload(String uploadImage,Str
- bellman-ford(贝尔曼-福特)算法
comsci
算法F#
Bellman-Ford算法(根据发明者 Richard Bellman 和 Lester Ford 命名)是求解单源最短路径问题的一种算法。单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。有时候这种算法也被称为 Moore-Bellman-Ford 算法,因为 Edward F. Moore zu 也为这个算法的发展做出了贡献。
与迪科
- oracle ASM中ASM_POWER_LIMIT参数
daizj
ASMoracleASM_POWER_LIMIT磁盘平衡
ASM_POWER_LIMIT
该初始化参数用于指定ASM例程平衡磁盘所用的最大权值,其数值范围为0~11,默认值为1。该初始化参数是动态参数,可以使用ALTER SESSION或ALTER SYSTEM命令进行修改。示例如下:
SQL>ALTER SESSION SET Asm_power_limit=2;
- 高级排序:快速排序
dieslrae
快速排序
public void quickSort(int[] array){
this.quickSort(array, 0, array.length - 1);
}
public void quickSort(int[] array,int left,int right){
if(right - left <= 0
- C语言学习六指针_何谓变量的地址 一个指针变量到底占几个字节
dcj3sjt126com
C语言
# include <stdio.h>
int main(void)
{
/*
1、一个变量的地址只用第一个字节表示
2、虽然他只使用了第一个字节表示,但是他本身指针变量类型就可以确定出他指向的指针变量占几个字节了
3、他都只存了第一个字节地址,为什么只需要存一个字节的地址,却占了4个字节,虽然只有一个字节,
但是这些字节比较多,所以编号就比较大,
- phpize使用方法
dcj3sjt126com
PHP
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,下面介绍一个它的使用方法,需要的朋友可以参考下
安装(fastcgi模式)的时候,常常有这样一句命令:
代码如下:
/usr/local/webserver/php/bin/phpize
一、phpize是干嘛的?
phpize是什么?
phpize是用来扩展php扩展模块的,通过phpi
- Java虚拟机学习 - 对象引用强度
shuizhaosi888
JAVA虚拟机
本文原文链接:http://blog.csdn.net/java2000_wl/article/details/8090276 转载请注明出处!
无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。
引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Wea
- .NET Framework 3.5 Service Pack 1(完整软件包)下载地址
happyqing
.net下载framework
Microsoft .NET Framework 3.5 Service Pack 1(完整软件包)
http://www.microsoft.com/zh-cn/download/details.aspx?id=25150
Microsoft .NET Framework 3.5 Service Pack 1 是一个累积更新,包含很多基于 .NET Framewo
- JAVA定时器的使用
jingjing0907
javatimer线程定时器
1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。
对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。
privatejava.util.Timer timer;
timer = newTimer(true);
timer.schedule(
newjava.util.TimerTask() { public void run()
- Webbench
流浪鱼
webbench
首页下载地址 http://home.tiscali.cz/~cz210552/webbench.html
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。
Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相
- 第11章 动画效果(中)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- windows下制作bat启动脚本.
sanyecao2314
javacmd脚本bat
java -classpath C:\dwjj\commons-dbcp.jar;C:\dwjj\commons-pool.jar;C:\dwjj\log4j-1.2.16.jar;C:\dwjj\poi-3.9-20121203.jar;C:\dwjj\sqljdbc4.jar;C:\dwjj\voucherimp.jar com.citsamex.core.startup.MainStart
- Java进行RSA加解密的例子
tomcat_oracle
java
加密是保证数据安全的手段之一。加密是将纯文本数据转换为难以理解的密文;解密是将密文转换回纯文本。 数据的加解密属于密码学的范畴。通常,加密和解密都需要使用一些秘密信息,这些秘密信息叫做密钥,将纯文本转为密文或者转回的时候都要用到这些密钥。 对称加密指的是发送者和接收者共用同一个密钥的加解密方法。 非对称加密(又称公钥加密)指的是需要一个私有密钥一个公开密钥,两个不同的密钥的
- Android_ViewStub
阿尔萨斯
ViewStub
public final class ViewStub extends View
java.lang.Object
android.view.View
android.view.ViewStub
类摘要: ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当 ViewSt