网络蚂蚁—静态分析挖掘栈缓冲区溢出漏洞并利用全记录
网络蚂蚁是一个很老很老的下载软件了,老到可能有的人根本就不知道它的存在。之所以分析它是因为之前tk教主在微博上说它有一个堆溢出,利用方法还挺有意思的,然后我在寻找那个堆溢出的利用方法的时候发现了这个栈溢出,算是个副产品。不过感觉倒是可以把发现的过程写出来,给和我一样的初学者一个参考,在httpclient相关的漏洞挖掘利用上。这个其实也算0day吧(滑稽),只不过这软件应该不会有人用了,这洞也不会有人修了。插两句打油诗文章内容包括三部分(1)静态分析发现漏洞(2)编写利用(3)总结(4)C#利用脚本一、静态分析发现漏洞首先明确目标,我们的目标是:找出网络蚂蚁在处理服务器返回的数据时有没有漏洞(当然我在分析这个的时候目标其实是找出处理返回数据时有没有规律,可以利用起来,不过目标虽然有区别,做法倒是一样的)。所以根据目标,首先需要定位网络蚂蚁接收数据,并处理的流程。用c#写个简单的socket接收回复程序(或者nginx也行),然后在recv下断点,可以跟到.text:004280DF
为您的 IT 运营构建一个认知警报系统
现在的监控工具通常通过事故或电子邮件通知来发送警报。但是,IT团队往往需要一种更加直观的感知方法。例如,在收到事故或电子邮件时,或者出现来自IT服务管理工具的操作时,IT操作员需要通过扬声器发出一种听得见的信号,或者通过灯泡发出一种看得见的信号。这些类型的警报意味着操作员不再需要密切注视屏幕或他们的智能手机。根据当前架构实现一个集成了服务管理系统与这些类型的设备的解决方案,这可能很复杂。本文将演示如何使用一组低成本的硬件(一个TJBot机器人中的RaspberryPi)和WatsonAPI、IBMWatsonIoTPlatform以及其他IBMCloud服务,为您的IT运营构建一个认知警报系统。演示用例:认知警报系统在这个用例中,公司通过IBMWorkloadScheduler对整个SAP批处理工作流进行了自动化。操作团队希望在出现异常中断时收到警报。在出现严重警报时,团队希望能打开一盏灯并呼叫操作员。但是,如果操作员已经在现场,他们希望仅触发可视警报;也就是说,不发出呼叫。IBM
2017年一线城市程序员工资大调查
编者按:作者爬了某招聘网站,获取近一周的程序员工资18275条。其中,有工资的17628条(北京4892,上海5073,广州3386,深圳4277)。本文分别从工资的分布,工资和学历,地域,工作经验和公司的性质,规模,产业的关系进行了分门别类的统计,我们一起看下。这里的程序员包括普通程序员,架构师,算法工程师,计算机图形,美工等。工资分布中国大陆一线城市程序员的平均工资为11770元,工资中位数为10000元,其中95%的人的工资位于3000到25000之间。教育受教育水平对工资有着显著的影响。看下图。经过OnewayAnovaTest,证明从大专到博士,学历每提高一级,工资都有显著的提高。当然,数据当中只有16个博士的职位,样本太少,不足以支持结论。大专,本科,硕士,博士的平均工资分别是9788,14114,17882,26656。中位数分别是9000,12500,17500,25000。结论,读书还是很重要的!工作经验数据显示,工资会随着工作经验的增长而增长。不过,我感觉那些招十
程序员敲代码敲乏了?看看这些能让你会心一笑的动图
1.春节玩儿的太high,第一天早晨上班的你。2.浑然忘我的进入编程状态,突然被打扰时的内心。3.产品经理跟我提需求的时候。4.需求一次顺利通过。5.使用IDE和不使用IDE的。6.这是一个while循环。7.离职程序猿之项目交接。8.初创公司人手不够,你的日常。9.周末当一堆人还在拼命的加班,我却下班离开公司。10.在生产环境中修改代码。11.起床修bug啦!12.找bug的眼神。13.为什么bug永远修不完。
程序员身价计算器火爆来临,看看自己值多少钱?
公众账号原文https://mp.weixin.qq.com/s?__biz=MzIyNjM3MzI4MQ==&mid=2247484235&idx=1&sn=262a603b6ea9d4028dfe2a64f1fcc3d9&chksm=e8703885df07b193b49fd59685b9cc7cc6c04d848db142884fc0826399f846d29d5768f155b8#rd
程序员的未来在何处
程序员未来只有两条出路,这是中华软协大陆合作委员会副主委,中华软协共享平台协会会长,台湾讯光科技董事长,微软.NET开发平台专家与特约讲师,从事软件工程技术研究达20年之久的高志明的观点,有那两条呢?简述如下:“程序员转型的两个路线:朝向研发和知识专业化。”高先生说:“朝向研发,可以做控件,架构师设计控件,程序员来进行实现。大家的目的要想把编程的代码减少,就要进行控件化。控件化的概念就是品质和生产力,一开始都是最差的,当你提升起来的时候,他将超过那些从第一行写到最后一行的“编程王子”。在经过一些项目之后,这个品质是纯代码所无法比拟的。”高先生说:“程序员如果始终只知道编程,而不去深入理解客户的需求,那结果做出来的东西永远不能符合用户的要求。程序员应该多去了解产业知识,这样才能变得更有价值,形成第二专业知识加编程的能力结构。”高先生说:“程序员在一定程度上也会被取代。今天的程序员是存在的,但是他们绝对不是用来写application的,未来将会由架构师来产生Application。应用80/20法则,未来80%的工作将
程序员的魔法——用Masking GAN让100,000人都露出灿烂笑容
摘要:本文使用MaskingGAN来对静态的图像中的人物图像进行处理,使其都露出灿烂笑容,堪称魔法。每个程序员都是一个魔法师,你玩过的魔法是什么呢?欢迎留言秀出各自的魔法。继卷积神经网络(CNN)掀起深度学习的浪潮后,生成对抗网络(GAN)逐渐成为了计算机视觉领域的另一重点关注的神经网络。本文作者于一年前开始第一次尝试使用GAN来完成一些实验,但都会存在一个问题,那就是模型很难训练以及模型的结果不好评估。尽管存在上述的这些问题,GAN仍然在深度学习领域中占据一席之地,这是因为GAN不同于经典的机器学习任务,它能够给许多问题提供新的解决思路。操作人脸属性(年龄、性别、表情)是一个最著名的语义处理问题。目前市面上有许多这样的应用客户端,大都能够在拍照后更改面部表情。实现这一操作的方法多种多样,但在我看来,GAN是表现最优的方法。上图选择的这些例子强调了一个问题——GAN也会改变无关的对象。如果你想裁剪一个图像部分,然后对部分图像进行修改后再粘贴回来,那样可能会与周围的背景无法很好地融合,此外这样操作起来也很困难。本文将针对这个问
2017——关于坚持了一年的事情
其实一直想写一篇,关于坚持一件事的心得,但看惯了网上大v的方法论,以及遇到各种方法的局限性之后,我便不敢妄下结论进行自行分析,以免使用不当,带偏了一批听信我的人,而这份信任异常难得,被辜负十分可惜。不过最近看到的二爷的专栏,让我略有启发。二爷和池大一样,也是一个惜言的人,虽然已有成就,但依然没有以一个成功者的身份去教导别人,从它的专栏中,你可以看到他的克制,一般都是提供观点与大家探讨,从不刻意去说教别人该怎么做,这对于我而言倍感赞同和支持。我在想,既然自己反感说教,那自己写出的东西也一定不能把说教放在第一位,而是讲出来一些好的方法,提供一个交流的契机,把我知道的,所深刻思考的内容,提供给大家,如果能够对此有感兴趣的读者,提供一些启发和思考,也是深为有益的。以下就是我想分享的几个知识点,若有不足之处,期待能够共同探讨,一起进步。本次分享的内容主要覆盖以下几点:1、为何要坚持写blog我会从个人成长、快速学习、以及个人品牌打造3个方向进行叙述给我带来的哪些收获今年的收获如何来坚持主要从《刻意练习》《习
未来的智慧门店,竟由一群“闷闷的”程序员打造
原标题:未来的智慧门店,竟由一群“闷闷的”程序员打造早上8点,让上班族最头疼的早高峰开始了。龙哥揉着惺忪的睡眼,手里提着双拖鞋从酒店走了出来。身上还是昨天上班的那身行头,牛仔裤配棉服,骑着摩拜夹杂在行色匆匆的人潮中毫不起眼。龙哥是这次研发智慧门店相关产品的腾讯云程序员,一个月前接到指示从成都飞赴上海做封闭式开发,和团队伙伴朝夕相对,早已顾不上打理自己。团队还有二十多个程序员,纷纷从成都、深圳等地赶来。龙哥笑言:“我们搞这个封闭式开发之前,买了很多吃的喝的,然后每天一起在上海的优图实验室研究产品,几乎与世隔绝,颇有种武侠剧里练功闭关的感觉。”吸引这些程序员聚集在一起的,正是最近受热捧的人脸识别技术。今年9月苹果年度旗舰新机iPhoneX的发布,将人脸识别术迅速带火。虽然都是“看脸”,此次腾讯云和腾讯优图共同打造的人脸识别技术主要用于智慧门店的解决方案,为了让更多人能享受到云端科技带来的智能和贴心。闷声研发,坚持让产品说话龙哥工作中接触的人脸识别技术,主要是用于智慧门店的解决方案,它帮助线下门店实现数据化和智能化,让门店具有
PHP 程序员危机:如何快速成长为不可或缺的技术人才?
点击上方“CSDN”,选择“置顶公众号”关键时刻,第一时间送达!作者简介:魏永强,一直致力于百万级访问量企业应用开发,架构工作,参与猪八戒金融产品八戒金融系统的开发,猪八戒BOSS支撑系统开发,中航地产重庆发布会中负责实时活动系统的架构及开发工作,负责架构及开发了永川万达微信营销平台。重庆毅荣德电子商务有限公司项目架构技术顾问。喜欢玩儿各种新技术,喜欢探究。感谢有这样的机会,能和大家一起来聊聊开发者的那些事儿。其实程序员危机是一个真实存在的问题。也有人说是互联网行业的下滑或者互联网行业已过了风口等等。我在这儿主要谈的是PHP程序员的危机,而这种危机多半来自于丰富的语言种类和公司对语言的选择上。尤其是近几年非常火热的人工智能,机器学习等等,还有推上风口的python。这多少会带动一些人盲目跟风。其实开发工程师对自己知识体系的扩充和转型都需要有一个明确的目标。跟风是一件比较危险的事情,转型也不同于丢掉自己所有的东西。我想通过程序员的诞生和程序员的成长来讨论,究竟该如何选择。我将从以下几个方面来说明:P
2017年总结(公司提交版)
我于2017年11月6日加入公司,开始了这段时间不久的PHP后端开发工作.虽然短暂,但也受益良多.体验了一个项目或功能从0到1的过程.伙伴们的协同工作.感受可谓心有灵犀,沁人心脾.作为一个技术爱好者,我感到很快乐.1.这两个月2017的最后两个月对我来说是神奇的两个月,有太多想要分享的.做了一些工作,串成线可以描述为,公司B2B平台(9daye.com.cn)首页后端(Admin)的debug开始,一直到接手首页写活的部分接口,再到CRM项目的一度开展,最终在12.25收官的用于团购的平台活动以及返现的代码编写.过山车般的两个月真的收货不小.0x00.Admin后台Debug这是我最艰难的时期,由于从来没有使用过Yii2框架,我必须保证在工作的时候持续学习Yii2框架.也是这个时候,我感觉每天需要48小时来处理工作,并且周末比工作日更加勤奋.记得有一个bug是"用户没有权限",现在看来很简单,就是由于Admin站用了RBAC来管理不同用户组的权限,
MySQL PXC 5.7 invalid user‘@MYSQLD_USER@’
最近的PXC5.7启动的时候收到一个无效用户的提示,invaliduser‘@MYSQLD_USER@’,这个问题还真是头一次碰到,而且这个MYSQLD_USER压根也是一个不存在的用户,到底是哪里的问题呢?见下文描述及其解决方案。一、故障现象[root@pro-db-8pxcdata]#systemctlstartmysql@bootstrapeJobformysql@bootstrape.servicefailedbecauseaconfiguredresourcelimitwasexceeded.See"systemctlstatusmysql@bootstrape.service"and"journalctl-xe"fordetails.--故障环境[root@pro-db-8pxcdata]#more/etc/redhat-releaseCentOSLinuxrelease7.3.1611(Core)[root@pro-db-8pxcdata]#mysql-Vm
Net Core中数据库事务隔离详解——以Dapper和Mysql为例
事务隔离级别.NETCore中的IDbConnection接口提供了BeginTransaction方法作为执行事务,BeginTransaction方法提供了两个重载,一个不需要参数BeginTransaction()默认事务隔离级别为RepeatableRead;另一个BeginTransaction(IsolationLevelil)可以根据业务需求来修改事务隔离级别。由于Dapper是对IDbConnection的扩展,所以Dapper在执行增删除改查时所有用到的事务需要由外部来定义。事务执行时与数据库之间的交互如下:从WireShark抓取的数据包来看程序和数据交互步骤依次是:建立连接-->设置数据库隔离级别-->告诉数据库一个事务开始-->执行数据增删查改-->提交事务-->断开连接准备工作准备数据库:Mysql(笔者这里是:MySql5.7.20社区版)创建数据库并创建数据表,创建数据表的脚本如下:CREATETABLE`posts`(`Id`varchar(255)NOTNULL,`
华为云数据库MySQL实践案例技术分析
MySQL大家下午好,先做一个简单的调查,看看在座的各位有没有接触MySQL,有接触过的举一下手,看样子大部分都是接触过或者用过MySQL,也应了那句话MySQL是全球最流行的开元数据库所言非虚。刚才产品架构师讲的主要是华为云数据库的前沿技术,我作为产品经理主要是从客户的角度来分享一下客户的实践案例。华为云数据库的功能特别多,应用的场景也不少,不可能把所有的场景一一展示出来,这里拿出一个典刑的场景进行分享。上图是华为云数据库,通常称为RDS的简单示意图,比较直观、全面的展示了RDS主要的功能,可以看一下图的左边,包括了实例管理、实例访问、备份与恢复、实例监控、弹性伸缩、日志管理、参数配置等等功能。也就是说客户自己在线下搭建数据库遇到的一些问题,基本上RDS都帮用户服务化实现了。看一下右上角这块双机热备高可用,这是RDS主要的架构,和大多数云厂商一样,RDS也是采用这种双机热备高可用,当主实例发生故障时候,可以自动切换到备实例,备实例自动升主。如果应用程序流量很大,尤其是读流量很大的时候,可以创建只读实例,目前最高创建5个只读实例来承担读流
大牛公司内部总结:Spring Boot 连接MySql数据库
SpringBoot可以大大简化持久化任务,几乎不需要写SQL语句,在之前章节“SpringBoot构建框架”中我们新建了一个SpringBoot应用程序,本章在原有的工程中与数据库建立连接。SpringBoot有两种方法与数据库建立连接,一种是使用JdbcTemplate,另一种集成Mybatis,下面分别为大家介绍一下如何集成和使用这两种方式。1.使用JdbcTemplate
利用主键快速聚合单表数千万MySQL的非索引字段
场景很多时候,为了写入效率,在生产环境里业务大表(单表千万行以上)是不允许随意加索引的。而且就算加索引,因为锁表问题,对业务也是有影响的。我们一般会用离线的从库进行一些数据统计,而生产环境的索引并不能很好的满足统计的需求。没有相应索引,我们又如何高效的进行字段聚合呢?利用主键索引进行range,然后再进行聚合。举例表名:tbl_pay_orders行数:29,311,362引擎:InnoDB字段:+------------------------+---------------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+------------------------+---------------------+------+-----+---------+---------------
金融企业从自建MySQL数据库迁移RDS方案
摘要:原作者:阿里云解决方案架构师,云帅。金融企业客户对于数据库提出了更高的要求,而RDS可以很好的满足这些需求。对于自建数据库的企业,怎样迁移到云数据库RDS,本文详细展示了一个迁移案例的整体步骤。为什么要从自建数据库迁移RDS由于金融行业的特点,对于数据库的安全性、高可用、一致性提出了更高的要求,而RDS金融版就是专门为金融客户量身定做的,它具有以下优点:高安全具备提供IP白名单,防SQL注入,SSL加密传输,TDE数据加密等功能的能力安全事前防护可设置允许连接实例的IP白名单,严格控制访问源;同时支持通过VPC来获取更高程度的网络访问控制安全事中防护公网地址自动开启DDoS防护,保持业务永续;访问链路支持SSL加密,杜绝中间人攻击行为;支持开启透明数据加密(TDE),数据落盘自动加密,固守最后防线;通过高安全模式拦截SQL注入,远离拖库风险。安全事后审计支持SQL审计功能,记录所有访问源和访问行为信息。对所有安全及故障事件做到有据可查。高可用提供双机热备、多可用区、异地容灾等多种类型的实例,满足不同级别的可用
Go 开源博客平台 Pipe 1.0.0 发布!
这是Pipe博客平台的第一个正式版,欢迎大家使用和反馈建议!简介Pipe是一款小而美的开源博客平台,通过黑客派账号登录即可使用。动机产品层面:市面上缺乏支持多独立博客的平台级系统实现B3log构思技术层面:在博客系统这个轮子上充分发挥golang的优势后台使用Vue.js进行前后端分离案例http://pipe.b3log.org你也在使用的话欢迎通过PR更新该列表。特性多用户博客平台Markdown/Emoji聚合分类/标签自定义导航多主题/多语言Atom订阅可配置动静分离搜索Hexo/Jekyll导入/导出安装下载最新的Pipe包解压,进入解压目录直接运行pipe/pipe.exe可执行文件即可。文档
回首2017: 你其实是一个收集贝壳的孩子
我不知道世上的人对我怎样评价。我却这样认为:我好像是在海上玩耍,时而发现了一个光滑的石子儿,时而发现一个美丽的贝壳而为之高兴的孩子。尽管如此,那真理的海洋还神秘地展现在我们面前。——牛顿github也像是一片海海,2017年,我大约从这篇海中捡了200多个彩色的贝壳。在年底之前,挑一些精致美丽的贝壳,分享出来。1docsify:想拥有Vue官方文档一样的颜值吗?:我喜欢Vue的原因是Vue官方文档颜值很高byme,那么你想来一份吗?高颜值非常简单无需构建,写完文档直接发布容易使用并且轻量(~18kBgzipped)智能的全文搜索提供多套主题丰富的API支持Emoji兼容IE10+支持SSR(example)2JavaScriptStandardStyle:一千个开发只有一个风格无须配置。史上最便捷的统一代码风格的方式,轻松拥有。自动代码格式化。只需运行standard--fix-从此和脏乱差的代码说再见。提前发现风格及程序问题。-减少代码审查过程中反反复复的修改过程,节约时
前端MVC Vue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class 与 Style 绑定
前端MVCVue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class与Style绑定Vue.js使用了基于HTML的模版语法,允许开发者声明式地将DOM绑定至底层Vue实例的数据。所有Vue.js的模板都是合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析。在底层的实现上,Vue将模板编译成虚拟DOM渲染函数。结合响应系统,在应用状态改变时,Vue能够智能地计算出重新渲染组件的最小代价并应用到DOM操作上。如果你熟悉虚拟DOM并且偏爱JavaScript的原始力量,你也可以不用模板,直接写渲染(render)函数,使用可选的JSX语法。1.1、插值1.1.1、文本数据绑定最常见的形式就是使用“Mustache”语法(双大括号)的文本插值:Message:{{msg}}Mustache标签将会被替代为对应数据对象上msg属性的值。无论何时,绑定的数据对象上msg属性发生了改变,插值处的内容都会更新通