第一期
逻辑漏洞挖掘
逻辑漏洞中的认证缺失和认证缺陷漏洞,主要指功能级访问控制缺失,出现任意增删改查用户信息的情况。实际业务场景中,这类漏洞大概两个成因,上线前没有做好认证处理,或权限环节控制不到位。基于工具开发,我们可以通过域名信息收集、站点信息爬取、规则的分析与提取,以及批量处理结果分析与展示四个环节快速发现认证缺失漏洞和认证缺陷漏洞。
第二期
基于 burpsuite的web逻辑漏洞插件开发
Burp Suite作为web应用程序渗透测试集成平台,常被用来进行网站渗透测试。BurpSuite 提供了插件开发接口,支持Java、Python、Ruby语言的扩展。虽然 BApp Store 上面已经提供了很多插件,其中也不乏优秀好用的插件,(推荐几个个人感觉好的插件)CO2,Logger++,Autorize,XSS Validator。但是通用化的工具无法完全符合web安全测试人员的特定需求。
1、为什么要独立开发插件 2、开发环境配置说明; 3、插件开发关键接口的使用实例; 4、逻辑漏洞检测插件开发探讨;
1.为什么要独立开发插件 随着厂商安全意识增强,传输过程中,大多数线上业务通过https传输,传输流量加密。无法做中间人攻击了就,服务端,数据库中的敏感数据加密存储,访问控制受限,即使拿到数据库也无法拿到明文数据。但是数据在客户端最终要展示给用户,必然明文展现。传统的安全防御设备和措施对逻辑漏洞收效甚微,现在攻击者更倾向于在客户端利用此类漏洞。而逻辑漏洞种类很多,通用化的工具无法完全符合web安全测试人员的特定需求。一个业务的逻辑漏洞抽象出来的模型,难以在其他业务层进行批量处理,通用的解决方案往往效果不佳。但是一个业务层抽象出来的模型,在其自身站点往往具有通用性。例如,某URL存在越权,可能该站点其他URL也可能存在类似的问题。我们基于该URL特征,开发burpsuite插件,批量扫描该站点,就能更全面的发现同类问题。因此,我们有必要根据自己的业务需求,自己能够独立开发插件。
2.开发环境配置 Burp支持Java、Python、Ruby语言的扩展,本次讲座以python环境为 例进行说明。Burpsuite 是运行在java环境,所有的库是java所写。Python作为开发语言,调用Java库就要用到Jython。
以MacOS为 例子进行说明: brew install jython,就可以了,Burpsuite Jython环境的配置:Extender -> options -> python Environment -> select file,导入下载好的jython jar包。
3.:插件开发关键接口的使用实例,重点讲几个接口
API接口查阅可以从以下拿到: API接口文档可以在burpsuite 的Extender -> APIs 也可以通过https://portswigger.net/burp/extender/api/index.html进行查阅。 IBurpExtender IBurpExtender是Burpsuite插件的入口,所有插件的开发都必须要实现。 当插件被建立以后,registerExtenderCallbacks也需要实现。 代码如下:class BurpExtender(IBurpExtender): def registerExtenderCallbacks(self, callbacks): 参数callbacks可获取核心基础库,例如日志,请求,返回值修改等。 IExtensionHelpers: 提供了编写扩展中常用的一些通用函数,比如编解码、构造请求、获取请求参数,获取请求头等。如:IRequestInfo analyzeRequest(byte[] request) 通过analyzeRequest函数,可以拿到请求的细节。 通过如下几个接口方法可以拿到。 IHttpRequestResponse: 这个接口包含了每个请求和响应的细节。在Brupsuite中的每个请求或者响应都是IHttpRequestResponse实例。通过getRequest(), getResponse()方法可以获取请求和响应的细节信息。
以registerHttpListener为例进行代码说明:
如图所示,在user 和 webserver之间建立监听,调用HttpListener接口。获取请求,响应的日志。 实现这个功能,最重要的是这个方法:
register ourselves as an HTTP listener callbacks.registerHttpListener(self)
def registerExtenderCallbacks(self, callbacks):
self._callbacks = callbacks
self._helpers = callbacks.getHelpers()
## 设置插件名
self._callbacks.setExtensionName("getTheRequest")
# //如果没有注册,下面的processHttpMessage方法是不会生效的。处理请求和响应包的插件,这个应该是必要的
callbacks.registerHttpListener(self)
### processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequestResponse messageInfo),
### 在messageInfo这个参数中,我们可以获取到request和response日志。
def processHttpMessage ( self, toolFlag, messageIsRequest, messageInfo) :
if toolFlag == 4 :
if not messageIsRequest:
request = messageInfo. getRequest( )
analyzedRequest = self. _helpers. analyzeResponse( request)
request_header = analyzedRequest. getHeaders( )
try :
method, path = res_path. findall( request_header[ 0 ] ) [ 0 ]
host = res_host. findall( request_header[ 1 ] ) [ 0 ]
url = method + " " + host + path
except :
url = ""
if method == "GET" :
print “[ + + + + + ] The URL is ", url
print "[+++++]The host is " , host
print "[++++] The URI is following"
print path
for iterm in path. split( "/" ) :
print iterm
print "======================================================================================"
代码如上所示,就可以打印出URL,HOST,URI日志信息
这是一个demo。延伸一下,我们在做渗透测试的过程中,往往苦于目录字典不全,我们将这个URI生成目录字典,为目录爆破做准备。
如果做扫描类插件: class BurpExtender(IBurpExtender,IScannerCheck) callbacks.registerScannerCheck(this); 实现IScannerCheck后需要重写被动扫描的函数。 doPassiveScan(IHttpRequestResponse baseRequestResponse) {} doPassiveScan这个接口,在baseRequestResponse获取请求和响应数据,并利用这些数据进行基于扫描规则进行扫描。
第四期 SRC挖掘
首先将公司架构吧,我们就以京东为例吧
企业的组织架构信息可通过开源信息获取。 常用的方法,通过维基百科,百度百科等确定企业的大体组织架构; zh.wikipedia.org baike.baidu.com
结合以下站点信息,进一步确定企业组织架构: 国家企业信用公示系统:http://www.gsxt.gov.cn/index.html 天眼查:https://www.tianyancha.com/
公司架构确定完成后,我们开始被动信息的收集
被动信息收集是指不与目标直接交互,通过公开的渠道获取获取目标信息。 可从以下几点展开,DNS信息收集,https证书信息,搜索引擎,网络空间安全搜索引擎,基于备案资料信息收集。
DNS信息收集 通过目标站点的域名注册信息,如whois日志进行信息关联。
国外常用的whois查询站点: https://who.is/ https://whois.cymru.com/cgi-bin/whois.cgi https://whois.arin.net/ui/query.do
国内常用的whois查询站点: [图片]http://whois.chinaz.com/ https://whois.aizhan.com/
通过whois查询确定注册者,然后关联同一注册者的其他站点信息。
https://viewdns.info/reversewhois/[email protected] https://whois.chinaz.com/reverse?ddlSearchMode=2
https证书信息,即通过https证书进行信息收集,可通过采用以下几种方式
基于证书透明度两个站点: https://certspotter.com/api/v0/certs https://crt.sh
为方便信息处理,可编写脚本处理: crtFetch -d example.com
我们看到就可以梳理出一部分子域名信息了 脚本位置:https://github.com/3stoneBrother/personalTools/blob/master/scripts/crtFetch.py
该脚本对在线站点获取的域名进行清洗,可获取到单域名SSL证书和通配符SSL证书两类。
有时候我们可能忽略的地方,有些企业的https证书中的相关域名可在浏览器证书中点击查看;
基于goolge hack技术可以查询到很多敏感信息。 更详细的用法可在这里查询: https://www.exploit-db.com/google-hacking-database
我们常用关键字查询: site:搜索域名的范围 inurl:URL格式 intitle:搜索的网页标题 intext:搜索包含其中文字的网页 filetype:搜索文件的后缀或者扩展名 cache:搜索搜索引擎里关于某些内容的缓存,可能会在过期内容中发现有价值的信息 link:搜索某个网站的链接 info:查找指定站点的一些基本信息
【查找敏感文件】
site:xxx.com (filetype:doc OR filetype:ppt OR filetype:pps OR filetype:xls OR filetype:docx OR filetype:pptx OR filetype:ppsx OR filetype:xlsx OR filetype:odt OR filetype:ods OR filetype:odg OR filetype:odp OR filetype:pdf OR filetype:wpd OR filetype:svg OR filetype:svgz OR filetype:indd OR filetype:rdp OR filetype:sql OR filetype:xml OR filetype:db OR filetype:mdb OR filetype:sqlite)
【查找敏感目录地址】
site:xxx.com inurl:login|admin|manage|admin_login|system|user|auth|dev|test site:xxx.com intitle:后台|管理|内部|登录|系统
以下可能是我们会忽略的几个关键字查询语句:
基于备案号,copyright信息查询
intext:“Tesla © 2020” intext:“京ICP备11041704号-15”
可以正则的形式
site:dev.. /signin site:/recover-pass site:smtp. ./login site:/com: site:/216.75..
##基于端口或者端口范围查询 site:/com:8443/ site:/com:* 8000…9000
查询到的关键词,利用备案信息可以大致确定各个站点的域名信息。
curl http://www.beianbeian.com/search-1/example.html | grep “ ” | grep -o “www.\w*.\w*” | sort | uniq |sed “s/www.//g”
不断的根据网络备案/许可证号进行反查,即可梳理更多的资产信息。 确定企业的IP段,可基于https://bgp.he.net/站点进行收集。 输入公司名称可查询该公司的IP资产信息,然后正则匹配IP段: cat aa.txt| grep -Eo “
.?td>"| grep “href”| grep -Eo "([0-9]{1,3}[.]){3}[0-9]{1,3}/ [0-9]{0,2}”
微信公共号
基于公众号信息,我们可以挖掘到很多的厂商业务信息。公司的公众号信息可在sogou搜索引擎可以进行查询。 https://weixin.sogou.com/weixin?type=1&ie=utf8&query=%E4%BA%AC%E4%B8%9C 为便于快速梳理,可用脚本处理。 python gongzhonghao.py -d “目标公司” https://github.com/3stoneBrother/personalTools/blob/master/scripts/gongzhonghao.py
这就得到某公司的所有公众号信息
主动信息收集
通过被动信息收集到一批域名,IP信息。以主动信息比较容易忽略的三级域名,甚至四级域名为例进行说明。通配符SSL证书往往是三级、四级域名高效爆破的目标,为批量处理,在crtFetch脚本中提取了需要进一步爆破的三级、四级域名。
然后进行域名爆破,爆破工具有很多,以gobuster为例进行演示: gobuster dns -t 30 -w sub_name.txt -i -q –wildcard -d api.example.com| tee domains-active.txt
这些三级四级域名,防护往往会薄弱一些
域名是否存活可利用httprobe工具确定。 cat domain.txt | httprobe > domain-alive.txt
也可通过whatweb查看链接的服务器版本,标题等信息,处理结果如下图所示 为便于批量查看URL内容,我们可通过屏幕截图工具webscreenshot进行处理。 具体方法如下:首先将存活的站点截图到screenshots文件夹下面: webscreenshot -i alive.txt -o screenshots -w 20 -m -a “X-FORWARDED-FOR:127.0.0.1” 为便于浏览,我们将截图生成一个html文件便于在浏览器查看: for I in $(ls -S); do echo “ I " > > i n d e x . h t m l ; e c h o " < i m g s r c = I" >> index.html;echo "<\ img src= I " > > i n d e x . h t m l ; e c h o " < i m g s r c = I> ” >> index.html; done 在浏览器中打开 index.html文件,就可看到所有的网页截图了。效果如下图,所有存活站点都在一个页面展现出来。可根据站点内容做进一步的渗透测试。
第五期
在企业级应用开发中,经常会遇到跨域数据交互的问题,例如多个子集应用之间通过跨域获取用户登录状态及身份信息等,从而能够满足现代web应用中的实际需求。因此谈到跨域就要了解下浏览器的同源策略。 浏览器的同源策略(Same Origin Policy,SOP),同源要求两个页面具有相同的协议、域名、端口号。当A应用(https://www.a.com)想请求B应用(https://www.b.com)里面的某个接口(提交操作)或者读取接口返回的数据作进一步的处理的话,这时就需要考虑跨域问题了,一般情况下浏览器会阻止这种不安全的跨域行为。但在html语言中,有些标签是具备天然的跨域功能的,比如
你可能感兴趣的:(经验分享,渗透之路)
浅谈大模型 SFT 的实践落地:十问十答
大模型与自然语言处理
NLP与大模型 人工智能 大数据 深度学习 多模态 大模型 SFT
节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学.针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。汇总合集:《大模型面试宝典》(2024版)发布!今天给大家带来一篇大模型SFT的实践落地经验总结SFT现在往往被称为“低端”工作,但它与业务紧密相连。相较于难以实施且多数公司没资源训
购买莆田鞋有哪些套路和陷阱?怎样避免踩坑
芒果不芒
购买莆田鞋有哪些套路和陷阱?怎样避免踩坑小白在购买莆田鞋时有很多不懂的问题,而且莆田鞋商家卖的货又良莠不齐,为了避免踩坑今天我就把经验分享给大家,记住最重要的一点就是找到一个比较实在的良心商家购买,因为真正做生意的诚信商家是不会为了一点蝇头小利去坑人的,假如找到一个无良商家,它变着法的想着坑你,你怎样都会被骗的,俗话说得好:不怕贼偷就怕贼惦记!今天我顺便给大家推荐三家专门做高品质的莆田鞋商家也:k
API 接口应该如何设计?如何保证安全?如何签名?如何防重?
「已注销」
安全 SpringBoot 安全 github spring spring boot 后端
说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢?下面我们就来讨论下常用的一些API设计的安全方法,可能不一定是最好的,有更牛逼的实现方式,但是这篇是我自己的经验分享.token简介Token:访问令牌accesstoken,用于接口中,用于标识接口调用者的身
【职场】公开发言的万能公式
蜗牛yimi
职场中,经常需要公开发言,比如个人述职、工作竞聘、经验分享等等。但很多同学会因为怯场、没有做好准备等原因,表现不好,错失了机会。得到公认的职场写作高手罗砚老师说,做好公开发言并不难,这儿有一个万能公式:公开发言=一个挑战+三点方案+一次返场。一个挑战。一开始就要告诉听众,你今天要带着他们解决一个什么问题,让对方带着疑问听你的发言。如果你的发言主题是“2020年北京餐饮行业的经营概况”,可以改为“疫
大规模 K8s 集群管理经验分享 · 上篇
尔达 Erda
数据库 java jenkins
11月23日,Erda与OSCHINA社区联手发起了【高手问答第271期–聊聊大规模K8s集群管理】,目前问答活动已持续一周,由ErdaSRE团队负责人骆冰利为大家解答,以下是本次活动的部分问题整理合集,其他问题也将于近期整理后发布,敬请期待!Q1:K8s上面部署不通的应用对于存储有不同的要求,有的要高吞吐,有的是要低响应。大规模K8s部署的时候是怎么协调这种存储差异的问题?还是说需要根据不同的场
英语心得1
小坤的梦呓
姑且这段学习记录的名字就这么叫吧。现在看了很多学习方面的经验分享,自己也在实践当中。正如贾兄在经验分享中看到的那样,学习英语而不是学习知识。英语是语言,语言是用来说的,既然要说语言,那必然要从听开始。很多原理和道理也不细说了,这个还需要学习很久。我现在要做的就是根据这些经验和自己的感悟去学习,然后加以改进方法,提高学习效率。现在也有给自己定了一个短期的小目标,争取年底或明年初可以考过雅思。至少达到
五款好用的设计软件帮你提升设计水平
办公室的一块砖
大学四年里因为基本没什么课,为了兴趣,在网上浏览了不少大牛的设计作品和经验分享,开始接触设计行业,掌握了一些设计软件,从而转行进入设计行业。今天就根据我的自学经验,和大家一起分享下这也适合新手尝试的设计软件吧!Pixso这是国内有名的软件公司万兴科技筹备了一年多推出的在线设计软件。我个人觉得是非常适合新手的,集原型,设计,交付,协作和资源管理于一体,UI设计功能方面可以说已经比较全面了,具备矢量网
【经验分享】虚拟机Ubuntu20.04一招解决无法连接网络问题
Jason Yan
linux系统学习 ubuntu linux
虚拟机Ubuntu20.04一招解决无法连接网络问题网上试了很多方法都没解决无法上网的问题,最后一招解决!!!(简单的网上一堆教程自己找下,此教程适合解决不了的同学)第一步:先关闭虚拟机的ubuntu系统,然后虚拟机—>设置---->网络适配器,选择NAT模式。第二步:编辑—>虚拟网络编辑器-----选择更改设置,允许配置。第三步:还原默认设置打开虚拟机,大功告成!!解决问题的同学留下你的心得,谢
千万级规模高性能、高并发的网络架构经验分享
搬砖养女人
网络 架构 经验分享
主题:INTO100沙龙时间:2015年11月21日下午地点:梦想加联合办公空间分享人:卫向军(毕业于北京邮电大学,现任微博平台架构师,先后在微软、金山云、新浪微博从事技术研发工作,专注于系统架构设计、音视频通讯系统、分布式文件系统和数据挖掘等领域。)架构以及我理解中架构的本质在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们
《经验分享:Ubuntu 22.04 安装微信》
陈在天box
ubuntu linux 运维
一、引言在Ubuntu22.04系统中,虽然有很多优秀的开源软件可供使用,但对于一些习惯了使用微信进行沟通和办公的用户来说,能够在Ubuntu上安装微信是非常必要的。本文将分享在Ubuntu22.04上安装微信的方法,希望能帮助到有需要的人。二、安装方法方法一:通过Snap安装打开终端。检查Snap是否已经安装,如果没有安装,可以使用以下命令进行安装:sudoaptinstallsnapd安装微信
开源项目的认识理解
禁默
话题探讨 开源 程序人生
目录开源项目有哪些机遇与挑战?1.开源项目的发展趋势2.开源的经验分享(向大佬请教与上网查询)3.开源项目的挑战开源项目有哪些机遇与挑战?1.开源项目的发展趋势1.持续增长与普及-开源项目将继续增长,特别是在云计算、大数据、人工智能等领域。-开源软件在企业中的应用将更加普及,成为企业IT战略的一部分。2.企业的参与-企业将继续增加对开源项目的投资,通过赞助、捐赠或直接参与开发来推动开源项目的发展。
大数据面试刷题
陈吉俊
学习方法
de的题目解析和讨论区也非常活跃,可以帮助求职者更好地理解题目和解题思路。牛客网(牛客网-找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网):牛客网是国内内容超级丰富的IT题库,不仅提供了大量的面试题,还涵盖了笔试题库、面试经验分享、实习招聘内推等多个方面。对于大数据方向的求职者来说,牛客网是一个一站式的学习平台,可以帮助他们系统地提升面试竞争力。超级码客(www.chaoj
阿里云服务器如何购买才更便宜,便宜购买经验分享
阿里云最新优惠和活动汇总
虽然阿里云各种便宜活动中都推出了不少便宜的云服务器,但是有些用户可能觉得活动中没有自己想要购买的云服务器配置,即使有自己想要的配置,有些朋友还想以更加便宜的价格购买阿里云服务器,下面小编分享的目前行之有效的便宜购买阿里云服务器的方法,总共4点经验,以供大家参考。第一,要想便宜购买阿里云服务器,必须先领取阿里云满减优惠券满减优惠券领取地址:阿里云官方活动中心满减优惠券面额:30元、50元、80元。阿
StarRocks Lakehouse 快速入门——Apache Paimon
StarRocks_labs
数据库 大数据 数据分析 数据湖 湖仓一体 Paimon flink
StarRocksLakehouse快速入门指南为您提供了湖仓技术概览,旨在帮助您迅速掌握其核心特性、独特优势和应用场景。本指南将指导您如何高效地利用StarRocks构建解决方案。文章末尾,我们集合了来自阿里云、饿了么、喜马拉雅和同程旅行等行业领导者在StarRocksxPaimonStreamingLakehouse活动中的实战经验分享。通过这些真实案例,您可以更直观地了解如何在实际应用中发挥
五个为什么分析法:项目负责人的视角
洋葱蚯蚓
比赛经验 个人开发 学习方法 经验分享
五个为什么分析法:项目负责人的视角前言1.**问题识别:深入挖掘问题的根源**2.**系统性思考:构建问题解决框架**3.**团队协作:促进团队成员的参与**4.**持续改进:将问题解决转化为持续改进的机会**5.**经验分享:将五个为什么分析法融入团队文化**结语前言 在当今快节奏和不断变化的工作环境中,项目管理已经成为企业和个人成功的关键。无论是在技术、商业还是非营利组织中,有效的项目管理技
第66期 | GPTSecurity周报
云起无垠
GPTSecurity AIGC gpt
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找到关于GPT/AIGC/LLM最新的研究论文、博客文章、实用的工具和预设指令(Prompts)。现为了更好地知悉近一周的贡献内容,现总结如下。SecurityPapers1.利用高级大语言模型
考研经验分享(仅供参考)
大江小竹
本人本科是双非一本,19年考研很幸运能够一战上岸,顺利考取某211高校。很荣幸有机会分享我的考研经历,考虑到每个人的情况不尽相同,所以接下来我分享的经验都是仅供大家参考,切不可生搬硬套,我只能保证下面这些话都是我的切身感受、亲身经历。众所周知,考研是场持久战。我从大三下学期开学3月份开始真正进入准备考研的学习状态到前不久3月底被正式录取,历时整整一年。这一年中绝大部分时间是在枯燥的学习和无尽的自我
【Leetcode:3174. 清除数字 + 栈】
硕风和炜
LeetCode每日一题打卡 leetcode 算法 java 栈
算法题算法刷题专栏|面试必备算法|面试高频算法越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨作者简介:硕风和炜,CSDN-Java领域优质创作者,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享恭喜你发现一枚宝藏博主,赶快收入囊中吧人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?算法题目录题目链接⛲题目描述求解思路
华为0830-题解-频率搬移值分配| 二叉树构建+层序遍历
2301_79125431
java
开出50w+最受欢迎的IC公司合集及面试经历(下)快手一面凉哥们被学历卡闷了,哥们这简历不乱杀吗?用友一面阿里国际一面凉经西门子终面,秋招恒生电子面经嵌入式面经_20届师兄谈笔试_八股文_简历_项目经验分享快手Java商业化一面腾讯视频后台开发一面9.2得物一面发个帖记录一下秋招进度快手Java商业化一面得物Java二面,15min结束,最快凉经腾讯面试直接寄一个985废物的春招诈骗史恒生电子C+
哺乳期妈妈堵奶了怎么办?二胎上岸妈妈成功经验分享
晨光微晓
作为一位母乳喂养的二宝妈,就此问题说说我的经验。哺乳期妈妈乳房硬块出现的原因:一般情况下,当妈妈分娩之后,身体会产生泌乳激素,分泌母乳,母乳分泌也是由少到多。母乳分泌突然躲起来的时候,母乳堆积就有可能出现肿块,母乳堆积过多过久而堵塞乳腺、或者压迫到了乳腺,就有可能出现乳腺炎。出现肿块如何应对如果是刚开始出现硬块,可以通过哺乳、吸奶器吸出哺乳后多于母乳等方式,清理淤积的乳汁。其次,如果通过吸奶器已经
机器学习面试题目分享面试经验分享 机器学习算法工程师深度学习 经典问题
好家伙VCC
面试 机器学习 面试 经验分享 stm32 嵌入式硬件 单片机 fpga开发
标题机器学习面经总结的常见面试题目等作业帮实习视觉算法一面凉凉经3.16号投递图像算法实习生,昨天hr打电话约了今早上牛客面试面试官还是很和蔼的,问了很多基础和细节,平时我都没有注意到的,肯定凉了,在这里记录一下,分享给大家由于我本科研究生都是计算机的,因此问了一些计算机基础的东西,但是由于年代久远,我都不记得了机器学习方面知识因为缺少一些动手实践,因此很多细节都不了解感谢面试官让我了解到这么多不
新手猎头快速入门经验分享
艾米正能量
我去年6月成为一名猎头,11月转为生命科学方向,后续接连成了几个药企的offer,业绩在全公司AC中排NO1,同事都蛮惊讶的,想让我分享一下经验,于是有了这篇文章。之所以把它也在公共号上进行分享,是想让大家看到:很多工作之间都是相通的,工作内容即使会有差异,但要求的能力是不变的。关键是两份工作间的无暇转换,如何把过去的经验作为一个优势得到传承。在观察到优劣势差异后,如何去弥补这些劣势差异,让自己坐
【经验分享】软考-高级系统架构师经验分享
努力努力再努力~~
规划 其他 linux疑难问题排查实战 软考 高级系统架构师
linux问题排查实战专栏,分享了作为公司专家,在解决内存、性能、各类死机等疑难问题的排查经验,认真学习可以让你在日后工作中大放光彩。【摘要】2022年7月17从女朋友嘴里了解到有软考这个东西,7月20——7月23日,上班空闲时间百度详细了解了软考的内容、大纲、通过之后的收益,于是决定备考高级架构师考试并上网收集了所有能收集的资料(不论好坏,完成收集后再筛选);经过3个月的复习,2022年11月5
【第十三届蓝桥杯单片机国赛满分代码】
代码能跑就可以
蓝桥杯单片机竞赛 蓝桥杯 单片机 职场和发展 开发语言 笔记 嵌入式硬件 linux
其他相关文章:【提分必看!】蓝桥杯单片机提分技巧(国一经验分享)【国一超全代码分享!】蓝桥杯单片机各模块代码整合【蓝桥杯单片机客观题知识点汇总】本代码经过编译后生成的hex文件经过了4T测试平台的满分测试。读者对代码有疑问的可以在评论区里提出。主函数#include"stdio.h"#include"intrins.h"#include"bsp_init.h"#include"bsp_led.h"
前端框架与库的区别:深入解析与实战指南
DTcode7
HTML网站开发 # 前端基础入门三大核心之html HTML 前端 web JavaScript H5
前端框架与库的区别:深入解析与实战指南基本概念和作用框架库功能使用思路与代码示例示例一:使用React框架构建组件示例二:使用Lodash库进行数据处理示例三:使用Vue.js框架进行双向数据绑定实际工作中的使用技巧经验分享自行拓展内容在前端开发领域,框架(Framework)和库(Library)是两个经常被提及但又容易混淆的概念。它们都是构建Web应用程序的重要工具,但各自拥有不同的设计哲学和
自律(十八)育儿:孩子安全是大事,教孩子正确辨别坏人
泡泡糖育儿说
育儿经验分享:1、主动向小孩子寻求帮助的陌生人2、让小孩子帮着保守秘密的成年人3、让孩子害怕,感到不舒服的陌生人4、给孩子东西吃让孩子跟他走的陌生人重新起号不容易,希望各位老朋友、新朋友能够一如既往的支持我,你们的一个小赞就是对我最大的支持,谢谢各位的支持!日常工作更新:接触运营自媒体并坚持更新180天,再看结果,今日第41天,剩余139天,学习经验、累积经验,有想探讨的简友可以去评论区探讨。会员
Oracle 数据库新手指南(一) Oracle基础
luo_lio
Oracle 数据库 oracle 开发语言
专栏目的本专栏旨在为读者提供一个全面了解Oracle数据库的平台。通过一系列的文章,我们将探索Oracle数据库的关键特性和最佳实践,帮助您掌握Oracle数据库的核心技术,并解决日常管理中遇到的问题。具体而言,本专栏的目标包括:深入理解Oracle的核心特性:解释Oracle数据库的核心组件和架构,以及如何利用这些特性来提高性能和可靠性。实战经验分享:提供实际案例分析,展示如何在真实环境中应用O
经验分享-掌薪阁怎样做
今天很美好
本人也就是通过他慢慢学习成长起来的。还是一个网友推荐的,现在他对我来说算是大佬了,已经单飞了,好久都没有联系了,呵呵,真是人往高处走,水往低处流啊。做网赚会经常和一些网络小白聊天,聊着聊着总被人误解以为自己是大神,有时候还让我带他,哈哈,其实我自己也不是什么大神,如果我是大神,我真没时间和你聊天,这是实话。我本身就是做掌薪阁里的项目,所以有人问我,我都是让他们自己去官网看看了解,总有适合自己的。不
第65期 | GPTSecurity周报
云起无垠
GPTSecurity 人工智能 网络安全 语言模型
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找到关于GPT/AIGC/LLM最新的研究论文、博客文章、实用的工具和预设指令(Prompts)。现为了更好地知悉近一周的贡献内容,现总结如下。SecurityPapers1.基于第一性原理的大
面试游戏公司运维工程师的经验分享----未完待续
weixin_34110749
面试 shell python
好久没更新博文了,无论心态还是生活,都变得有些懒散,呵呵,,发下牢骚,以下正文:生活总要有点激情,前几天在猎聘网站刷新了下简历,有几个猎头联系了豪鹫,我挑了其中一家游戏公司过去面试,面试过程1个半小时左右,已经变成运维老咸菜的豪鹫分享下此次的面试经历吧,欢迎网友留言探讨。。面试准备:面试经过:约了14:30面试,提前5分钟到达战场,因会议室都有人在用,所以在前台沙发等了近25分钟。。一轮面:运维总
安装数据库首次应用
Array_06
java oracle sql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
IllegalStateException: Cannot forward a response that is already committed
Cwind
java Servlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oracle sql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
Python调试
矮蛋蛋
python pdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
spring aop实例annotation方法实现
bijian1013
java spring AOP annotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
[Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
Netty源码学习-ReadTimeoutHandler
bylijinnan
java netty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
jquery验证上传文件样式及大小(好用)
cngolon
文件上传 jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
浏览器兼容【转】
cuishikuan
css 浏览器 IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell $# $? 特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
Java 打开浏览器
hw1287789687
打开网址 open浏览器 open browser 打开url 打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chrome Google google api chrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
java DAO 设计模式 AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {