Docker中启动LocalDVWA容器,准备DVWA环境.在浏览器地址栏输入http://127.0.0.1,中打开DVWA靶机.自动跳转到了http://127.0.0.1/login.php登录页面.输入默认的用户名密码admin:password登录.单击页面左侧的DVWA Security,进行安全级别设置,如图3-18所示. 图3-18  DVWA安全级别 DVWA的安全级别有4种,分别为Low.Medium.High和Impossible.先选择最低的安全级别,单击Submit按钮…
玩转黑客那些工具,缺少了虚拟机怎么行,除了用虚拟机虚拟整个系统,Docker也不能缺少,读者只需要知道,Docker只虚拟Linux系统中的某个程序就可以了.本节就来介绍Linux下安装设置Docker. 很幸运,Docker已经加入到了Debian的官方源中了.可以使用apt-get安装Docker.首先,使用163的镜像替代默认的官方镜像(基于Docker使用加速器的同样理由),163镜像源的配置文件163.list如下: deb http://mirrors.163.com/debian/…
首先还是将DVWA的安全级别设置为Low,然后单击DVWA页面左侧的Command Injection按钮. ​ 图5-1  Low级别的命令注入 这个就是最典型的命令注入接口.在文本框中输入一个IP地址,然后返回ping命令的结果,单击页面右下角的View Source按钮,查看页面的源码,如图5-2所示. ​ 图5-2  Low级别命令注入源码 从图中可以看出,服务器对输入的参数没有做任何的检查,直接使用shell_exec里面执行了.使用者完全可以在IP后面构建任何命令进行注入.最简单的构…
以DVWA为例,进行手工注入,帮助读者了解注入原理和过程. 1.启动docker,并在终端中执行命令: docker ps -a docker start LocalDVWA docker ps 执行结果如图4-19所示. ​ 图4-19  启动DVWA 2.在浏览器地址栏输入127.0.0.1后回车,浏览器打开了DVWA页面(DVWA在前面的章节中已建立完毕).先点击左侧栏的DVWA Security,将难度调整至Low级别.单击左侧栏的SQL Injection,进入SQL注入页面,如图4-…
Python真是无所不能,学习Python,一个暑假就够了 !! 入门Python,从黑客入手最好玩.最简单 !! 今天就推荐一本书<11招玩转网络安全——用Python,更安全> 内网攻防 外网攻防 无线网破解 Web服务器攻防 数据服务器攻防 如何更安全?如何用Python玩?北京科技大学的硕士告诉你.…
原文 8天玩转并行开发——第三天 plinq的使用 相信在.net平台下,我们都玩过linq,是的,linq让我们的程序简洁优美,简直玩的是爱不释手,但是传统的linq只是串行代码,在并行的 年代如果linq不支持并行计算那该是多么遗憾的事情啊. 当然linq有很多种方式,比如linq to sql ,xml,object 等等,如果要将linq做成并行还是很简单的,这里我就举一个比较实际一点的例子, 我们知道为了更快的响应用户操作,码农们想尽了各种办法,绞尽了脑汁,其中有一个办法就是将数据库数…
前言 接口性能问题,对于从事后端开发的同学来说,是一个绕不开的话题.想要优化一个接口的性能,需要从多个方面着手. 其实,我之前也写过一篇接口性能优化相关的文章<聊聊接口性能优化的11个小技巧>,发表之后在全网广受好评,感兴趣的小伙们可以仔细看看. 本文将会接着接口性能优化这个话题,从实战的角度出发,聊聊我是如何优化一个慢查询接口的. 上周我优化了一下线上的批量评分查询接口,将接口性能从最初的20s,优化到目前的500ms以内. 总体来说,用三招就搞定了. 到底经历了什么? 1. 案发现场 我们…
程咬金有三板斧,我们有三招.在这篇博文中我们要出第三招,同时也意味着昨天在“希望的田野”上的第二招失败了. 前两招打头(CPU)不凑效,这一招要换一个部位,但依然要坚持攻击敌人最弱(最忙最累)部位的原则.那除了CPU,最忙最累的部位是哪里呢?对于Web服务器来说,毫无悬念,当然是网卡.而且阿里云的云服务器,所有的网络负载都集中在一块内网网卡上,SLB(负载均衡)用它,OCS(缓存服务)用它,RDS(数据库服务)也用它.所以,就对它出招! 招式受这篇博文(XenServer – Windows 2…
前言 很多人都知道我们在做FineUI控件库,而且我们也做了超过 9 年的时间,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭标签的问题,的确是IE7的BUG) Chrome53 最新版惊现无厘头卡死 BUG! Chrome最新版(53-55)再次爆出BUG! 这类BUG之所以被大家所深恶痛绝,在于其隐蔽性,很多时候不能用常规的逻辑去分析.另一个原因的开发人员一般都很善良,出现问题总是从自身找原因,很少会怀疑到IDE,浏览…
前言 很多人都知道我们在做FineUI控件库,而且我们也做了超过 9 年的时间,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭标签的问题,的确是IE7的BUG) Chrome53 最新版惊现无厘头卡死 BUG! Chrome最新版(53-55)再次爆出BUG! 这类BUG之所以被大家所深恶痛绝,在于其隐蔽性,很多时候不能用常规的逻辑去分析.另一个原因的开发人员一般都很善良,出现问题总是从自身找原因,很少会怀疑到IDE,浏览…
1.固定集合 > db.createCollection(, max:});//固定集合 必须 显式创建. 设置capped为true, 集合总大小xxx字节, [集合中json个数max] { } > db.c1.stats() { "ns" : "test.c1", , , , , , , , , , "indexSizes" : { }, , , } > db.c1.insert({name:'}); > db.c1…
玩转VIM-札记(三) 眨眼之间,5月就要从指间溜走,不给人一点点遐想的时间,我要赶紧抓着五月的尾巴,在博客中在添一笔.那么就还接着Vim来说吧.以Vim来为五月画上一个句号. 返璞归真 相信经过玩转Vim-札记(一)和玩转Vim-札记(二)的学习,对于光标的移动已经能做到随心所欲了,但是如果想要更快速的操作,以下几个光标移动的命令也是必不可少的. 在当前行上移动光标: 0 ^ $ f F t T , ; 0 → 到行头 ^ → 到本行的第一个非blank字符 $ → 到行尾 g_ → 到本行最…
玩转Node.js(三) 上一节对于Nodejs的HTTP服务进行了较为详细的解析,而且也学会了将代码进行模块化,模块化以后每个功能都在单独的文件中,有利于代码的维护.接下来,我们要想想如何处理不同的HTTP请求,而这个处理不同的HTTP请求的东东,就是传说中的路由选择. 路由之说 首先,我们需要清楚的知道,我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码. 因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数.这一…
2018.11.2 浪在ACM 集训队第三次测试赛 整理人:孔晓霞 A 珠心算测试 参考博客:[1]李继朋  B 比例简化 参考博客: [1]李继朋 C 螺旋矩阵 参考博客:[1]朱远迪 D 子矩阵 E 计数问题 参考博客:[1]贺振原 F 表达式求值 参考博客:[1]贺振原 参考博客:[2]刘  凯 参考博客:[3]苗学林…
常见的三种Web服务架构 转自http://www.cnblogs.com/bvbook/archive/2008/12/24/1360942.html 相互竞争的服务架构 The Competing Architectures 我们已经给出了“不同Web服务会有不同做法”的两个主要问题,现在要据此对不同风格的Web服务进行分类了.根据我的研究,常见的Web服务架构主要有三种:REST式架构.RPC式架构和REST-RPC混合架构.下面依次对它们进行介绍. REST式.面向资源的架构 RESTf…
Java进阶(三十一) Web服务调用 前言 有朋友问了一个问题:如何调用已知的音乐服务接口,服务文档如下: https://www.evernote.com/shard/s744/sh/c37cd503-68fc-4406-b8f2-5e90095be303/19b67e36aa2ccd19 查看代码之后,按照以往的服务调用方法实现,结果无法实现.很是费解,求教大师兄之后,问题,迎刃而解,只能说自己需要学习的地方还有很多. 完整代码如下: package plan.http.util; imp…
三种web性能压力测试工具http_load webbench ab小结 题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz 程序非常小,解压后也不到100K 居家旅行携带方便 呵呵 http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的…
第三章Web表示模式 体系结构设计者在设计第一个作品时比较精简和干练.在第一次设计时,并清除自己做什么,因此比较小心谨慎.第二个作品是最危险的一个作品,此时他会对第一个作品做修饰和润色,以及把第一次设计的边缘性设计思想都用在第二个作品,结果导致设计过头. 最初的Web很简单,只是有几个简单的Html页面组成,实现信息共享.随着业务的发展,需要根据业务来决定显示什么,于是开发了CGI编程,把大量的业务逻辑写到CGI中,然后输出到页面.随着发展,CGI编程模式受到了挑战,不能满足发展的需求,于是开发…
程序员的修炼从优秀带卓越 第三章 web设计原则:    网站的评判标准     加载的速度要快     这到底是什么东西     给我看一个例子     清清楚楚的告诉我要做什么,并且扫除障碍     拥抱你的受众,即使意味着要把其他受众排除在外,你不可能满足所有的用户 追求简单:不要设计太多按钮,不要堆砌无效的需求,少即使多,像谷歌浏览器 应用会取代网站吗 :应用不会取代网站,但是应用的体验要比网站的体验好很多 切记墨守成规:用户界面应该内部保持一致,但横向与世界上的其他应用程序保持一致就没…
网络安全里装着好多人的侠客梦.但是不能触碰铁律,所以,只小小的自娱自乐. 自己练习,大都会用到DVWA,一个很好的安全测试平台,自己搭建(很简单,傻瓜式搭建),自己设置安全级别,自己验证各种漏洞攻击方式.(这里不再赘述,有时间可以将DVWA 的搭建再细传上来) 1.代理设置 将owasp zap 的本地代理设置成127.0.0.1 端口8080 测试用的浏览器也设置成同样的代理(可以用proxy switcher等快捷代理设置插件,也可以自己手动设置,例如如下) 2.抓包 保持打开owasp z…
http://www.cnblogs.com/haippy/p/3346477.html struct defer_lock_t {}; 该类型的常量对象 defer_lock(defer_lock 是一个常量对象 std::lock_guard 介绍 std::lock_gurad 是 C++11 中定义的模板类.定义如下: template <class Mutex> class lock_guard; lock_guard 对象通常用于管理某个锁(Lock)对象,因此与 Mutex RA…
上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::packaged_task 类,本文主要介绍 std::future,std::shared_future 以及 std::future_error,另外还会介绍 <future> 头文件中的 std::async,std::future_category 函数以及相关枚举类型. std::future…
一.Linux服务器上11种网络连接状态: 图:TCP的状态机 通常情况下:一个正常的TCP连接,都会有三个阶段:1.TCP三次握手;2.数据传送;3.TCP四次挥手. 注:以下说明最好能结合”图:TCP的状态机”来理解. SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效.表示一个新的TCP连接请求. ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收…
一.定义 这里不讨论向量严格的数学定义.在Madlib中,可以把向量简单理解为矩阵.矩阵是Madlib中数据的基本格式,当矩阵只有一维时,就是向量,1行n列的矩阵称为行向量,m行1列的矩阵称为列向量,1行1列的矩阵称为标量. 二.线性代数函数 Madlib的线性代数模块(linalg module)包括基本的线性代数操作的实用函数.利用线性代数函数可以很方便地实现新算法.这些函数操作向量(1维FLOAT8数组)和矩阵(2维FLOAT8数组).注意,这类函数只接受FLOAT8数组参数,因此在调用函…
谋哥每天坚持写文章,如今写作速度是越来越快了,当然这样也能节省点时间.只是坚持每天写,确实须要极大的耐力和毅力,由于偶然事件会影响你心情和灵感.只是我一直相信秦刚老师(微信/QQ1111884 )说的话.就是"瞄准目标,死磕究竟!"秦大是我一生中的贵人.导师.文章会写下去,由于目标已经瞄准,遇到诽谤.污蔑.不信赖.妒忌也好,都会一直写下去,而且要做得更好. App外赚钱,内容超级广泛.就像App赚钱一样,就是插入广告或者内支付这两个,预计都能够写非常多内容,只是前篇写的是大概框架.让大…
上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::packaged_task 类,本文主要介绍 std::future,std::shared_future 以及 std::future_error,另外还会介绍 <future> 头文件中的 std::async,std::future_category 函数以及相关枚举类型. std::future…
目的:找到 除了9n±4型自然数外,所有100以内的自然数都能写成三个整数的立方和    这每个数的表达方式: 源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- for i in [10,29,36]: #可将[1,29,36]修改为range(1,100) node = 0 #print(i) # for j in range(-1000,1000): if node == 1: break #print(i,j)…
一.产生大量的undo日志 众所周知,InnoDB是一个支持MVCC的存储引擎,为了支持MVCC,InnoDB需要保存undo日志,以便对用户提供记录的历史版本.如果我们开启一个事务,反复地更新一条记录而不提交,会怎么样呢?将会产生大量的undo日志,使得磁盘空间爆满,导致MySQL不可用. 在innodb现有的实现中,并没有对单个用户或单个连接使用的undo空间进行限制.也就是说,我们只需要反复更新一条记录,而不提交,就会产生大量undo日志.由于我们的事务没有提交,undo日志不能被回收,从…
题目描述: 给定三个整数X,Y,Z,要求进行若干次操作使得X,Y,Z相等,操作有两种: 1.从X,Y,Z中选择两个数都加1. 2.从X,Y,Z中选择一个数加2. 求最少需要多少次操作. 题目思路: 1.对X,Y,Z三个数进行排序,此处用的是降序排序.假设排序完之后X>Y>Z,如果Y-Z是奇数的话,那么对Z进行(Y - Z)/2次操作2的话,Z就会变成了Y-1了,即此时的Y=Y,Z=Y-1.那么此时只需先对Y,Z进行X-Y次操作1,使得X=X,Y=X,Z=X-1.然后再对X,Y进行1次操作1,最…
报表无疑是ERP系统中用到的最频繁的单据之一.比如每天采购要打印采购明细帐:仓库每天要导出收货或者出货明细:销售每天要打印订单明细等.故报表的设计在ERP系统开发中占据大半江山. 不过笔者在实际工作中也发现,有些开发人员在设计ERP报表时,太过于复杂. 有一次,一家企业向我提出了如下需求,他们希望能够出一份报表,报表的内容包括四个部分: 一是成品零件的用量.零件的最小采购量等信息: 二是当月零件的采购量信息(详细的采购订单等资料): 三是当月零件的出库信息(详细的出货记录): 四是零件的安全库存…