发布新日志

  • 运维工程师必会的109个Linux命令(3)

    2018-05-21 07:58:41

    压缩管理

    1.1 bunzip2

    1.1.1 功能说明

    .bz2文件的解压缩程序。

    1.1.2 语法

    bunzip2 [-fkLsvV][.bz2压缩文件]

    1.1.3 补充说明

    bunzip2可解压缩.bz2格式的压缩文件。bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2 -d的效果相同。

    1.1.4 参数

     -f或--force  解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件。若要覆盖,请使用此参数。

     -k或--keep  在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数。

     -s或--small  降低程序执行时,内存的使用量。

     -v或--verbose  解压缩文件时,显示详细的信息。

     -l,--license,-V或--version  显示版本信息。

    1.2 bzip2

    1.2.1 功能说明

    .bz2文件的压缩程序。

    1.2.2 语法

    bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级][要压缩的文件]

    1.2.3 补充说明

    bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

    1.2.4 参数

     -c或--stdout  将压缩与解压缩的结果送到标准输出。

     -d或--decompress  执行解压缩。

     -f或--force  bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。

     -h或--help  显示帮助。

     -k或--keep  bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。

     -s或--small  降低程序执行时内存的使用量。

     -t或--test  测试.bz2压缩文件的完整性。

     -v或--verbose  压缩或解压缩文件时,显示详细的信息。

     -z或--compress  强制执行压缩。

     -L,--license,

     -V或--version  显示版本信息。

     --repetitive-best  若文件中有重复出现的资料时,可利用此参数提高压缩效果。

     --repetitive-fast  若文件中有重复出现的资料时,可利用此参数加快执行速度。

     -压缩等级  压缩时的区块大小。

    1.3 cpio

    1.3.1 功能说明

    备份文件。

    1.3.2 语法

    cpio [-0aABckLovV][-C <输入/输出大小>][-F <备份档>][-H <备份格式>][-O <备份档>][--block-size=<区块大小>][--force-local][--help][--quiet][--version]

    或 cpio [-bBcdfikmnrsStuvV][-C <输入/输出大小>][-E <范本文件>][-F <备份档>][-H <备份格式>][-I <备份档>][-M <回传信息>][-R <拥有者><:/.><所属群组>][--block-size=<区块大小>][--force-local][--help][--no-absolute-filenames][--no-preserve-owner][--only-verify-crc][--quiet][--sparse] [--version][范本样式...]

    或 cpio [-0adkiLmpuvV][-R <拥有者><:/.><所属群组>][--help][--no-preserve-owner][--quiet] [--sparse][--version][目的目]

    1.3.3 补充说明

    cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tra备份档内的文件。

    1.3.4 参数

     -0或--null  接受新增列控制字符,通常配合find指令的"-print0"参数使用。

     -a或--reset-access-time  重新设置文件的存取时间。

     -A或--append  附加到已存在的备份档中,且这个备份档必须存放在磁盘上,而不能放置于磁带机里。

     -b或--swap  此参数的效果和同时指定"-sS"参数相同。

     -B  将输入/输出的区块大小改成5210 Bytes。

     -c  使用旧ASCII备份格式。

     -C<区块大小>或--io-size=<区块大小>  设置输入/输出的区块大小,单位是Byte。

     -d或--make-directories  如有需要cpio会自行建立目录。

     -E<范本文件>或--pattern-file=<范本文件>  指定范本文件,其内含有一个或多个范本样式,让cpio解开符合范本条件的文件,格式为每列一个范本样式。

     -f或--nonmatching  让cpio解开所有不符合范本条件的文件。

     -F<备份档>或--file=<备份档>  指定备份档的名称,用来取代标准输入或输出,也能借此通过网络使用另一台主机的保存设备存取备份档。

     -H<备份格式>  指定备份时欲使用的文件格式。

     -i或--extract  执行copy-in模式,还原备份档。

     -l<备份档>  指定备份档的名称,用来取代标准输入,也能借此通过网络使用另一台主机的保存设备读取备份档。

     -k  此参数将忽略不予处理,仅负责解决cpio不同版本间的兼容性问题。

     -l或--link  以硬连接的方式取代复制文件,可在copy-pass模式下运用。

     -L或--dereference  不建立符号连接,直接复制该连接所指向的原始文件。

     -m或preserve-modification-time  不去更换文件的更改时间。

     -M<回传信息>或--message=<回传信息>  设置更换保存媒体的信息。

     -n或--numeric-uid-gid  使用"-tv"参数列出备份档的内容时,若再加上参数"-n",则会以用户识别码和群组识别码替代拥有者和群组名称列出文件清单。

     -o或--create  执行copy-out模式,建立备份档。

     -O<备份档>  指定备份档的名称,用来取代标准输出,也能借此通过网络 使用另一台主机的保存设备存放备份档。

     -p或--pass-through  执行copy-pass模式,略过备份步骤,直接将文件复制到目的目录。

     -r或--rename  当有文件名称需要更动时,采用互动模式。

     -R<拥有者><:/.><所属群组>或

     ----owner<拥有者><:/.><所属群组>  在copy-in模式还原备份档,或copy-pass模式复制文件时,可指定这些备份,复制的文件的拥有者与所属群组。

     -s或--swap-bytes  交换每对字节的内容。

     -S或--swap-halfwords  交换每半个字节的内容。

     -t或--list  将输入的内容呈现出来。

     -u或--unconditional  置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖。

     -v或--verbose  详细显示指令的执行过程。

     -V或--dot  执行指令时,在每个文件的执行程序前面加上"."号

     --block-size=<区块大小>  设置输入/输出的区块大小,假如设置数值为5,则区块大小为2500,若设置成10,则区块大小为5120,依次类推。

     --force-local  强制将备份档存放在本地主机。

     --help  在线帮助。

     --no-absolute-filenames  使用相对路径建立文件名称。

     --no-preserve-owner  不保留文件的拥有者,谁解开了备份档,那些文件就归谁所有。

     -only-verify-crc  当备份档采用CRC备份格式时,可使用这项参数检查备份档内的每个文件是否正确无误。

     --quiet  不显示复制了多少区块。

     --sparse  倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。

     --version  显示版本信息。

    1.4 gunzip

    1.4.1 功能说明

    解压文件。

    1.4.2 语法

    gunzip [-acfhlLnNqrtvV][-s <压缩字尾字符串>][文件...] 或 gunzip [-acfhlLnNqrtvV][-s <压缩字尾字符串>][目录]

    1.4.3 补充说明

    gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为".gz"。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。

    1.4.4 参数

     -a或--ascii  使用ASCII文字模式。

     -c或--stdout或--to-stdout  把解压后的文件输出到标准输出设备。

     -f或-force  强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

     -h或--help  在线帮助。

     -l或--list  列出压缩文件的相关信息。

     -L或--license  显示版本与版权信息。

     -n或--no-name  解压缩时,若压缩文件内含有远来的文件名称及时间戳记,则将其忽略不予处理。

     -N或--name  解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。

     -q或--quiet  不显示警告信息。

     -r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

     -S<压缩字尾字符串>或--suffix<压缩字尾字符串>  更改压缩字尾字符串。

     -t或--test  测试压缩文件是否正确无误。

     -v或--verbose  显示指令执行过程。

     -V或--version 显示版本信息。

    1.5 gzip

    1.5.1 功能说明

    压缩文件。

    1.5.2 语法

    gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][目录]

    1.5.3 补充说明

    gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。

    1.5.4 参数

     -a或--ascii  使用ASCII文字模式。

     -c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。

     -d或--decompress或----uncompress  解开压缩文件。

     -f或--force  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

     -h或--help  在线帮助。

     -l或--list  列出压缩文件的相关信息。

     -L或--license  显示版本与版权信息。

     -n或--no-name  压缩文件时,不保存原来的文件名称及时间戳记。

     -N或--name  压缩文件时,保存原来的文件名称及时间戳记。

     -q或--quiet  不显示警告信息。

     -r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

     -S<压缩字尾字符串>或----suffix<压缩字尾字符串>  更改压缩字尾字符串。

     -t或--test  测试压缩文件是否正确无误。

     -v或--verbose  显示指令执行过程。

     -V或--version  显示版本信息。

     -<压缩效率>  压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。

     --best  此参数的效果和指定"-9"参数相同。

     --fast  此参数的效果和指定"-1"参数相同。

    1.6 split

    1.6.1 功能说明

    切割文件。

    1.6.2 语法

    split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]

    1.6.3 补充说明

    split可将文件切成较小的文件,预设每1000行会切成一个小文件。

    1.6.4 参数

     -<行数>或-l<行数>  指定每多少行就要切成一个小文件。

     -b<字节>  指定每多少字就要切成一个小文件。

     -C<字节>  与-b参数类似,但切割时尽量维持每行的完整性。

     --help  显示帮助。

     --version  显示版本信息。

     [输出文件名]  设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号。

    1.7 tar

    1.7.1 功能说明

    备份文件。

    1.7.2 语法

    tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F <Script文件>] [-K <文件>][-L <媒体容量>][-N <日期时间>][-T <范本文件>][-V <卷册名称>][-X <范本文件>]

    [-<设备编号><存储密度>][--after-date=<日期时间>] [--atime-preserve]

    [--backuup=<备份方式>] [--checkpoint][--concatenate][--confirmation][--delete]

    [--exclude=<范本样式>] [--force-local][--group=<群组名称>]

    [--help][--ignore-failed-read][--new-volume-scrip

  • 学习型产品是否要满足人们的“懒”需求

    2018-05-17 09:09:52

    首先我们解释下这个话题的意思,可能有些同学看不懂?

    举个简单的例子,现在很多水果店都把水果切好放那,你可以自由选择拿哪些,然后去结账。这里就是满足了人们的懒需求(不想洗水果,不想切水果,一次想吃很多种水果,嫌水果太多,嫌水果太少,总之你懂的。。。。。)。

    那么,学习性产品是否要满足这样的懒需求呢?我不会告诉你的,哈哈,开个玩笑。

    1、生活的懒需求让我们变得越来越不会生活,但我们享受这样的变化。当产品满足你的懒需求时,你会觉得特别高兴,会对他赞不绝口,这些其实我觉得没啥,说的不好听点,即使丧失了生活的本领如果还有挣钱的本领也是可以的(个人还是觉得生活本领不能丢失,不为自己也得为下一代着想)

    2、换成学习产品呢?如果满足了你的懒需求,我们想象下场景会是这么样子的。

    一睁眼,软件包已经下载到了你本地,安装以及帮你安装好,课件已经帮你翻到了xx页,代码已经帮你写好你拿来就用,问题已经帮你解决你都不用费脑子。。。。。。嗯,真好,如果有这样的产品服务我愿意花钱。可是然后呢?

    3、总有一天你会自己单飞,谁也不是你永久的陪伴。那时候,下个软件不知道怎么下,装个jdk不知道变量怎么赔,给了你N个G资料懒得看,代码放那愣是看不懂,遇到问题瞬间变白只能到处问人。。。。。。。这就是学习中懒需求满足你之后你的结果。

    4、上面说的可能有点概括,那么我们就举几个例子来说说。

    a、真好,老师都已经为我们提供好了jmeter3.3安装包、安装方法步骤,甚至环境都给我们了。棒棒哒。

    aa、N久之后,jmeter升级到了4.0,哪里去下载软件包啊,怎么安装啊,哎呀,环境老是出错啊,war包怎么运行啊,懒需求带给你的结果就是这样的

    b、真好,老师给了我们课件文档,我再也不用记笔记了,哈哈

    bb、N久之后,这个怎么弄来着,我忘了,我没记笔记,我没整理,这个讲过嘛不记得啊,这个是在哪里将来这。。。。。。。。嗯,活了这么久我们还是不懂的好记性不如烂笔头。自己总结记录的能和别人的一样嘛。

    c、真好,我们直接能拿到源码,都不用自己敲代码,拿来就能用啦,哈哈,好省事。

    cc、N久之后,我怎么看不懂代码了,这个是怎么处理的呀,我想改造下框架但是不会写代码了,框架有bug了不会解决啊,这个写法怎么不行啊。。。。。我们总觉得拿个现成的就好,其实是害了你。。。。。

    5、真正好的学习性产品一定不是满足你的懒需求,甚至是和你的懒需求做对,是教你如何思考、解决问题。他不会告诉你A正确B错误,而是告诉你最优选择。这个世界不缺少好的学习性产品,而是缺少发现的人,因为我们都太懒了。

    好了,瞎写了点,可能写的也不好,随便看看吧。突然想到我们的大学教育,本人在澳大利亚某大学做过交流的学生带过一年,我可以很负责任的说,那的大学教你思维,引导你解决问题,不会告诉你标准;而国内大学除**褪荁,全是标准。如果让我选择我会选择前者,因为他教会了万能的方法,而不是针对A的方法,他能让我在未来应对各种问题时可以通过思维、方法、分析来解决,而不是瞬间懵逼。

    所以,如果一个学习性产品满足了你的懒需求,祝贺你,你会变得更差!

  • jmeter3.x以上版本安装插件的方法

    2018-05-11 09:24:34

    好多朋友问到jmeter怎么装插件,其实小编是一脸懵逼的。。。。官网已经有了详细的说明,但100个人里会有超过90个问,好吧,那这次就说一下这个问题吧

    在jmeter3.0之前的版本中,插件的安装方法需要自行去找相应的jar包然后放到对应的目录中。但现在基本不在用低于3.0的版本了,所以此处你可以忽略!

    但是在jmeter3.0版本之后的,插件的安装方法变了,大致步骤为:

    1、https://jmeter-plugins.org/downloads/all/ 下载plugins manager ,放到jmeter的lib下的ext目录中

    2、重启jmeter才可以生效

    3、重启jmeter后,选择菜单“选项”>“plugins manager”>之后在此对话框中进行选择安装,要比之前的操作简单很多,所有可用插件均可在这里找到。

    PS:有童鞋说看不懂英文。。。。这世界上有个软件叫有道词典。。。。。

    好了,以后再问这样的问题,我内心是拒绝的~

  • web安全测试总结

    2018-05-06 21:44:30


    常见问题: 

    1.XSS(CrossSite Script)跨站脚本攻击


    XSS(CrossSite Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达

    到恶意用户的特殊目的。


    测试方法: 

    在数据输入界面,添加记录输入:

    ,添加成功如果弹出对话框,表明此处存在一个XSS 漏洞



    或把url请求中参数改为

    ,如果页面弹出对话框,表明此处存在一个XSS 漏洞



    修改建议:

    过滤掉用户输入中的危险字符。对输入数据进行客户端和程序级的校验(如通过正则表达式等)。


    Eg:对用户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符是否做过滤


    2.CSRF与跨站脚本(XSS)


    CSRF与跨站脚本(XSS),是指请求迫使某个登录的浏览器向易受攻击的Web应用发送一个请求,然后以受害者的名义,为入侵者的利益进行所选择的行动。


    测试方法:

    同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功


    使用工具发送请求,在http请求头中不加入referer字段,检验返回消息的应答,应该重新定位到错误界面或者登陆界面。


    修改建议:

    在不同的会话中两次发送同一请求并且收到相同的响应。这显示没有任何参数是动态的(会话标识仅在cookie 中发送),因此应用程序易受到此问题攻击。因此解决的方法为


    1.Cookie Hashing(所有表单都包含同一个伪随机值):


    2.  验证码


    3.One‐Time Tokens(不同的表单包含一个不同的伪随机值)客户端保护措施:应用防止


    CSRF攻击的工具或插件。

    3.注入测试


    SQL注入是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符

    串,最终达到欺骗服务器执行恶意的SQL命令。


    测试方法:

    在需要进行查询的页面,输入正确查询条件 and 1=1等简单sql语句,查看应答结果,如与输入正确查询条件返回结果一致,表明应用程序对用户输入未进行过滤,可以初步判断此处存在SQL注入漏洞


    修改建议:

    对用户的输入进行校验,可以通过正则表达式,或限制长度;对以下关键字进行转换等;


    ||alert|and|exec|execute|insert|select|delete|update|count|drop|chr|mid|master|truncate|declare|sitename|netuser|xp_cmdshell|or|+|,|like'|and|exec|execute|insert|create|drop|table|from|grant|group_concat|column_name|information_schema.columns|table_schema|union|where|select|delete|update|order|by|count|chr|mid|master|truncate|declare|or|--|+|,|like|//

    不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取;


    不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接;


    应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。


    4.登录认证测试


    4.1暴力破解

    暴力破解是目前最直接有效的攻击方式,特别对于金融业务来说,很多情况下口令都为6位纯数字,很容易被攻击。本测试项在于检查认证系统对暴力破解的防护性。


    测试方法:

    启动抓包工具,同时打开浏览器输入用户登录页面,输入用户名、密码以及验证码,进行登录,如果在抓包中存在明文的用户名和密码,说明存在弱点。


    修改建议:

    将请求方式从HTTP方式修改为HTTPS方式或者对输入的用户名和密码进行加密,在服务端对密码进行验证


    4.2代码注释

    开发版本的Web程序所带有的注释在发布版本中没有被去掉,而导致一些敏感信息的泄漏。我们要查看客户端能看到的页面源代码并发现此类安全隐患。


    测试方法:

    打开登陆页面(或者待测试页面),点击浏览器邮件,查看源代码,检查源代码注释部分是否有敏感信息泄露,敏感信息包括以下内容:字段文字描述、内网 IP 地址、SQL 语句以及物理路径等等。


    修改建议:

    请勿在HTML  注释中遗留任何重要信息(如文件名或文件路径)。

    从生产站点注释中除去以前(或未来)站点链接的跟踪信息。

    避免在HTML  注释中放置敏感信息。

    确保HTML  注释不包括源代码片段。


    4.3 用户名破解

    为了进行暴力破解,攻击者需要知道已存在的用户名,再对该用户名进行攻击。


    测试方法:

    在登录界面输入不存在的用户名和任意的口令,如果提示用户名不存在,则说明存在漏洞;使用正确的用户名和错误的口令进行登录,如果提示口令或密码错误,则说明存在漏洞。


    修改建议:

    服务器对所有的登陆错误原因进行统一的应答,不会提示准确的错误提示信息。


    4.4

    在缺少锁定策略和验证码设计有问题的情况下,攻击者可以通过枚举的方式来进行暴力猜解。


    测试方法:

    在登录页面,输入正确的用户名、错误的口令以及正确的验证码,提交表单,重复10

    次,如果系统没有返回类似账号锁定的信息,则说明存在漏洞。


    修改建议:

    在用户进行错误登录次数达到系统配置后,需要对该账号或者该IP进行临时锁定,到达解锁条件后再进行解锁。


    4.5

    查看是否有验证码机制,以及验证码机制是否完善,避免使用自动化工具重复登录和进行业务操作。


    测试方法:

    打开登陆页面查看是否存在验证码,如果不存在说明存在漏洞。


    输入正确的用户名和口令以及错误的验证码,如果只是提示验证码错误,则说明存在漏洞。


    选择验证码,点击右键,验证码是图片形式且在一张图片中,如果不是,则说明存在漏洞。


    观察验证码图片中背景是否存在无规律的点或线条,如果背景为纯色(例如只有白色)说明存在漏洞。


    修改建议:

    将验证码生成放在在一张进行了混淆处理的图片上。


    4.6

    测试方法:

    进入系统的口令修改界面,查看是否必须输入旧口令,如果不需要则存在漏洞。


    修改建议:

    用户修改密码时必须提供旧密码,且新密码不能与旧密码相同,密码要有一定复杂度,参见口令规则建议。


    4.7 默认账户名称设置

    一般系统均设有默认登录用户,以及超级管理员账号,如登录账号过于简单将易被破解,造成超级权限泄露。


    修改建议:

    上线系统清除超级管理员权限用户,或增加超级管理员登录名复杂度,不要设置成易猜测的admin、superadmin等名称。


    4.8 错误的页面信息

    404、500等错误或警告消息,可能会泄露敏感信息。


    修改建议:

    捕获异常跳转至统一错误页面,避免对外泄漏详细错误信息。


    5.会话管理测试未更新


    5.1会话标识测试


    查看登录成功后会话标识是否变更。如果未变更,那么攻击者就可以通过一些手段(如构造URL)为受害着确定一个会话标识,当受害者登录成功后,攻击者也可以利用这个

    会话标识冒充受害者访问系统。


    测试方法:

    启动抓包工具或浏览器自带开发者模式打开登录页面,输入正确的用户名、口令以及验证码,进行登录,登录后,进行任意一项业务操作。如果登录的SessionId和进行业务的SessionId没有变化,则说明存在漏洞。


    修改建议:

    对每次请求都从上次请求获得令牌,服务端对每次交互都进行验证

    查看是否存在浏览器窗口闲置超时后需重新登录的机制


    5.2会话超时测试


    测试方法:

    打开登录界面,输入正确的用户名和口令,进行登录,进行一项业务操作,将浏览器空闲超过30分钟,在进行其他业务操作,如果能够进行其他业务操作,则说明存在漏洞。


    修改建议:

    需要在后台进行配置Session的超时时间。


    5.3会话清除测试


    用户注销后会话信息需要清除,否则会导致用户在点击注销按钮之后还能继续访问注销之前才能访问的页面。


    测试方法:

    进入登录页面,输入正确的用户名和密码,登录成功后,进行一些业务操作,点击注销按钮,在浏览器输入地址,输入上面进行业务操作的地址,如果能够正常返回业务页面,则说明存在漏洞。


    修改建议:


    在用户注销后,必须将用户的Session信息以及缓存信息全部清空。

        6其他


    6.1文件目录测试


    目录列表能够造成信息泄漏,而且对于攻击者而言是非常容易进行的。所以在测试过程中,要注意目录列表漏洞。


    测试方法:


    通过浏览器访问web 服务器上的所有目录,检查是否返回目录结构,如果显示的是目录结构,则可能存在安全问题;


    或使用DirBuster软件进行测试;


    修改建议:


    1.针对每个Directory 域都使用Allow 、Deny 等指令设置,严格设定WEB服务器的目录访问权限;


    2.删除Options 指令下的Indexes 设置项;


    6.2文件上传漏洞


    文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。


    修改建议:


    严格限制和校验上传的文件类型、大小等,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。


    6.3http请求方法测试


    有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY),这样就增加了受攻击面。


    测试方法:


    使用SoapUI等工具,发送除get、post以外的方法请求,如接收应答为200ok,代表启用了不必要的方法。


    修改建议:


    在tomcat  web.xml中增加如下内容:


       

         /*

         PUT

         DELETE

         HEAD

         OPTIONS

         TRACE

       

       

       

     BASIC

    6.4 服务器安全策略


    1.服务器用户权限


    运行Web服务器的操作系统账号权限越高,那么Web遭到攻击产生的危害就越大。部署到生产环境运行时是不能用root等最高权限的,一切都给予以最小权限。


    2.关闭无关端口


    网络上被攻陷的大多数主机,是黑客用扫描工具大范围进行扫描而被瞄准上的。所以,为了避免被扫描到,除了必要的端口,例如 Web、FTP、SSH 等,其他的都应关闭。


    如:关闭 icmp 端口,并设置规则,丢弃 icmp 包。这样他人无法 Ping到服务器,服务器安全得到提升。


    修改方法:丢弃 icmp 包可在 iptables 中, 加入一条语句:-A INPUT -p icmp -j DROP


    3.更改默认端口


    如:默认的 SSH 端口是 22。建议改成 10000 以上。这样别人扫描到端口的机率也大大下降。


    举例修改方法:


    # 编辑 /etc/ssh/ssh_configvi /etc/ssh/ssh_config# 在 Host * 下 ,加入新的 Port 值。以 18439 为例(下同):Port 22 Port 18439

    # 编辑 /etc/ssh/sshd_configvi /etc/ssh/sshd_config#加入新的 Port 值Port 22Port 18439# 保存后,重启 SSH 服务:service sshd restart

    测试新端口连接正常后,删除 Port 22 的配置。同时从 iptables 中, 删除22端口,添加新配置的 18439,并重启 iptables。


    4.限制IP登录

  • 技术部员工绩效考核方案

    2018-05-04 07:50:59


    岗位应用开发工程师

    项目及考核内容

    分值


    工作态度

    根据平日的工作态度直接上级打分

    20分

    任务完成及质量

    根据任务的度及完成质量上级打分

    40分

    后期维护质量及效率

    根据对所开发功能及模块的维护质量及效率,上级打分

    20分

    开发的出错率

    普通Bug的数量和工作量(人/天)的比值,平均少于等于2个为20分,3-6个为16分,7-9个为10分,由于开发错误导致的系统崩溃或系统运行不正常,直接扣15分

    20分

    合作部门投诉或表扬

    表扬一次加3分,投诉一次扣3分


    创新能力

    如有较好的创新点或建议,对系统优化有较好的帮助,每个加5分


    岗位web前端开发工程师

    项目及考核内容

    分值


    工作态度

    根据平日的工作态度直接上级打分

    20分

    任务完成及质量

    根据任务的度及完成质量上级打分

    40分

    与开发人员的配合默契度

    根据与开发人员的沟通及配合默契程度上级打分

    10分

    工作的出错率

    制作出的页面与原型图出现较大差异的或者兖州错误的,每次扣除3分

    20分

    后期项目的维护

    根据后期项目的维护工作效率由上级打分

    10分

    合作部门或合作人员投诉或表扬

    表扬一次加3分,投诉一次扣3分


    创新能力

    如有较好的创新点或建议,对项目管理优化有较好的帮助,每次加5分


    岗位软件测试工程师

    项目及考核内容

    分值


    有效缺陷率

    用来衡量测试人员发现的,被确认为缺陷的有效缺陷比率,比率越高则测试质量越高。

    >=70% 20 >=50% 15 >=30% 10 >=10% 5 <=5% 0

    20分

    测试覆盖率

    主要用来衡量测试人员对功能点遗漏测试的情况。

    >=90% 10 >=80% 8 >=60% 6 >=50% 4 <=5% 0

    10分

    bug描述质量

    主要衡量测试人员对于bug报告的描述情况。bug报告的描述是否清晰、简洁。

    很好 10 还好 8 一般6 模糊4 很模糊 0

    10分

    严重bug率

    主要是根据严重程度分类的缺陷数比全部缺陷或者有效缺陷。这有助于让测试人员将注意力集中在关键问题上,减少产品的致命缺陷。

    >=70% 20 >=50% 15 >=30% 10 >=10% 5 <=5% 0

    20分

    遗漏缺陷率

    产品正式发布推向市场后,客户在使用产品的过程中发现的缺陷数占缺陷总数的比率。用来总体衡量测试组整体的工作情况。

    >=90% 20 >=80% 15 >=60% 10 >=10% 5 <=5% 0

    20分

    开发人员对测试人员的评估

    开发人员对于测试人员所报告的缺陷进行确认,修改(或者拒绝),对于测试人员的工作表现以及缺陷质量

    很好 20 还好 15 一般10 模糊 5 很模糊 0

    20分

    岗位项目经理

    项目及考核内容

    分值


    工作态度

    根据平日的工作态度直接上级打分

    20分

    项目管理完成度及质量

    根据项目的完成度及完成质量上级打分,能保证所有项目按时保质完成为满分,单个项目延误扣5分,出现严重质量问题扣10分

    40分

    项目管理效率及成本控制

    根据项目管理效率及成本控制上级打分

    40分

    合作部门投诉或表扬

    表扬一次加3分,投诉一次扣3分


    创新能力

    如有较好的创新点或建议,对项目管理优化有较好的帮助,每次加5分


    绩效等级标准

    等级

    考核总分

    优秀

    90分及以上

    良好

    80―89分

    一般

    70-79分

    合格

    60-69分

    不合格

    59分及以下

  • 职场女性,如何平衡工作与怀孕?

    2018-05-03 08:01:14


    当代社会有不少年轻女性为了职场的进阶,不得不推迟受孕年龄,也有不少女性为了生育不得不放弃工作。其实,怀孕并不是女性职场生涯的绊脚石,反而是90后新职场女性自我提升、获得职场新生的跳板。今天给新职场女性一些解决“怀孕与工作的矛盾”的建议。

     

     

    1.掌握基本的请假技巧


    我们先从第一个问题开始说起,在休产假之前,90后职场新女性面临的一大难题就是“如何恰当又合理地频繁请假”,包括产检请假,妊娠反应请假,孕期各种不适请假。这里透露一些新人不知道的职场潜在福利及基本的请假技巧。

     

    1)孕妇享有不被降低工资的权利


    在我国,工资分配实行男女同工同酬,公司或企业在女职员怀孕期、产期、哺乳期降低其基本工资是不合法的。所以孕妈要记住怀孕了是照样可以领基本工资的哦!

     

    2)享受免加班福利


    按照我国《女职工劳动保护规定》第七条规定,女职工在怀孕期间,有权享受免加班福利;所在单位不得安排超过第三级体力劳动强度的劳动(不超过5.8小时),怀孕七个月以上(含七个月)的女职工,一般不得安排其从事夜班劳动。

     

    3)孕妇的产假时长为98天。(其中可休产前假15天)


    什么时候停止上班开始休产假,没有绝对的规定时间,主要取决于你的身体状况、家庭因素、孕期进展情况等。但是产假休得越早,宝宝出生后上班的时间可能也随之提早。


    准妈妈应当根据实际情况进行产假休息,不建议过早休假,因为在上班时间,有更多机会走动、忙碌起来,这样能使时间过得快一些,不至于太无聊,也有利于生产。


    除了一般产假时长,孕妇还享有一些特殊的产假福利:

     

    • 难产,增加产假15天

    • 育多胞胎,每多生育1个婴儿,增加产假15天

    • 怀孕未满4个月流产的,享受15天产假

    • 怀孕满4个月流产的,享受42天产假

    • 晚育产假,由各省、自治区、直辖市根据本省计划生育条例规定。

     

    4)产检假


    根据我国相关规定,怀孕的女职工,在劳动时间内进行产前检查,应当算作劳动时间,单位不应当以此为理由扣发工资。

     

    孕妈在请假时,一定要了解清楚相关假期福利,了解公司规章制度、请假程序,请假术语尽量温和,态度诚恳。

     

    爱2.重新规划工作事宜


    怀孕对于女性而言是人生一大事,孕期期间需要按时吃饭、休息、补充足够的营养,避免加班、过度疲劳,这对于有进取心的职场新人来说,很大程度上会影响到工作计划、工作进程,对于后期的晋升也可能会造成一定的影响。所以这一部分教大家如何科学地重新规划工作,包括孕期新工作日程表的重新制定、工作优先级划分、如何提高工作效率。

     

    1)职场孕妈在怀孕期间许多工作无法自己独立高效地完成,因此,孕妈在重新制定工作日程表的同时,将工作的优先等级按照工作任务的紧急程度、难易程度进行排序,尽可能地考量当前自己的工作能力,将超出工作能力范围的任务交接给其他人,千万不要逞强,孕期的你更需要学会照顾好自己,工作强度要适量并做好身体的健康调理。

     

    2)将每天的工作状况记录下来,做好同事可以随时接手工作的准备。因为怀孕期间的突发状况是无法预想的,有责任感的职场工作者应当以公司的工作效益为先,放弃以自我为中心的工作态度。

     

    3)利用碎片化时间提高工作效率。怀孕期间的检查、休息、不适等都争夺了工作时间,因而工作效率会大大降低,孕妈在时间管理上的合理性,不仅可以提高工作效率,还能增加自身的充实感。


    孕妇的碎片时间一般包括:检查时排队等待的时间、夜间的自由时间、周末、非工作时间,可以利用时间碎片长度的不同进行不同程度的学习,尽可能地利用好时间空隙,弥补被“孕期偷走的工作时间”。

     

    爱3、来几招交往新技能


    孕妈的饮食、时间安排和作息规律与普通群体有所偏差,这有可能会导致职场女性在怀孕期间无法和同事保持正常频率的社交,从而影响到工作和人际。这里同样给出几点建议,帮助孕妈维持办公室人际关系。

     

    1)正确看待同事关系


    职场的同事关系与日常朋友关系是两码事,不要逾越界限,工作上的交接要清楚明了,维持良好的工作关系。

     

    2)不要把自己当成特殊群体


    有的人怀孕了就开始矫情了,把自己看成弱势群体认为全世界人的都应该照顾她让着她。记住,情绪性的东西无论在什么时候都不要带到职场上,你的同事们不会因为你怀孕而特别关照你,大家都在专注自己的工作,哪有闲情雅致顾及你。

     

    3)保持感恩和谦虚的态度


    你在怀孕期间工作上的不便,实际上都是同事在帮你分担,所以尽可能地关心同事,适当地感谢,让对方感觉到你的诚恳。彼此增加好感度。

     

    爱4、巧妙提升自我


    对于职场女性而言,如何在孕期及孕后保持良好体形也是一大挑战。毕竟良好的外表对于工作和社交都有积极的促进作用。孕妈可以参考以下建议,有意识地进行身材管理。

     

    1)适度运动


    怀孕期间适当的运动能够缓解疲劳、改善妊娠反应、促进身体新陈代谢,为顺利产下宝宝做准备。同时,运动能够给予孕妈能量,使睡眠和精神状态得到改善,从而帮助提高工作效率。只要医生和身体状况允许,每周可以锻炼25小时以上,散步、游泳、瑜伽都比较适合孕妇。建议在专业瑜伽教练的指导下,进行孕妇瑜伽;随着产期临近,教练也会帮你不断调整姿势以顺利产下宝宝。

     

    2)合理膳食 

                               

    职场女性尤其想要在孕期做到“胖娃不胖妈”,所以要在饮食上格外注意。一方面需要饮食均衡,保证优质蛋白质、维生素、矿物质和微量元素的摄入。另外需要关注自己的孕期血糖指数。血糖指数与孕妈妈的体重、身体健康(如妊娠糖尿病)、甚至宝宝的身体健康都息息相关。

     

    在孕期可以通过摄入健康营养的低GI食物,来控制血糖指数和帮助管理体重。很多常见的食物比如白面面包、梳打饼干等都是高GI食物;蔗糖的GI值为65,和小米粥、菠萝、芒果等同属于中GI食物;豆类和全脂牛奶属于健康营养的低GI食物,比较适合孕妈妈,让孕期也能光彩照人,自信满满。

     

    前面说过,不少职场女性为了孩子和家庭,会听从家人(尤其是长辈)的建议,把重心转移到宝宝身上而放弃工作;而孕妈也会由于难以平衡怀孕对工作产生的影响而动摇。

     

    其实,90后作为职场新生代,最重要的是改变“怀孕影响工作”的错误思维,形成全新的职场态度。真正的独立女性,能够把怀孕当作是职场自我提升的机会。


    在孕育的过程中,你所孕育的不止是一个新生命,还有一个更丰盈、更自信、更好的自己——BETTER ME。

  • 面试官问你:为什么要从上一家单位离职?

    2018-05-02 08:31:07



    首先,作为一个从事招聘的HR,并不认为追问面试者为什么从上一家公司离职是个明智的做法起码不应该在面试一开始就抛出这个问题,一个较为明显的原因是因为这会引起面试者的防御心理,甚至是敌对心理。最终导致双方的不欢而散。当然,“赚的少“”干得不爽”也不是明智的回答,除非你或你的面试官是马云,否则这个回答将非常容易毁掉这次面试。

    其次,需要承认的是这个问题对于一些公司(尤其是创业公司)或者一些重要的职位是必须要面对的问题。所以,在你下一次面试之前,我们有必要认真的探讨一下这个问题的答案。

    在回答这个问题前,我们先看几个代表性的求职者离职的真正原因:

    原因一:老板/上司的问题

    (领导不懂自己/无法得到肯定)

    @魏琴:上司很奇葩,天天骂人都算了,还骂到人祖宗,牛皮都快吹破了还觉得自己很谦虚。

    @其珍:因为上司让我觉得不舒服。

    @sunshine:前任上司什么都不懂,关键还TM装懂

    @Miya:老板做人不行,过期的油才舍得给员工,得不到人心也留不住人,我走了之后又换了新人,新人又换新人……估计快撑不下去了。

    原因二:个人发展空间的问题

    (没人指导/现有公司无法满足自己的发展需要)

    @冀丽俊:公司的项目折腾的差不多了,没有再大的进步空间。没有人带,待遇不好,几乎没有设计氛围~忍无可忍无需再忍。

    @爱吃肉的姑娘运气不会太差:发展不了想发展的,自己又没提高,一直原地踏步,浪费青春。

    @莫名其妙:因为过得太安逸了,现在这份工作也是太安逸,下份工作要找虐才行。

    @张先生:刚14号刚离职,辞职原因很简单,1.薪资;2.自身的能力已经超出公司所能提供的岗位,需要谋求更好的发展空间;3.短期内公司也难以提供更好发展空间。

    @Cash:我辞职是因为我的能力提高了。


    原因三:公司风气做派的问题

    (包括上下级/同事间关系不融洽以及整个公司的氛围有问题)

    @RICO:钱少,党派斗争恶劣。

    @墨:最近对我安排有所调动,被安排给了一个奇葩运营,真心受不鸟他的为人,还有对我作图的百般挑剔,这个月初提的离职,当时还有点不舍,第二天公司就招人接替我的工作了,当时那个不爽,不过现在想想现在他们对图的苛刻,哈哈~我的选择还是对的 果断离职!

    @Lin.x林曦:上一份工作是家上市公司,离职原因其实也就是我不愿意委屈求全吧,如果当时我能够坚持人脉档次上至少是提一个阶层的,不过自己也确实不适合这样的公司,一年多的磨砺让我懂得了要按自己想去做的工作去做,而不是单纯的只是因为薪水还可以,适合更重要吧…

    @缘梦里:有午休的习惯,但公司人事就不让你睡(工程师被人事的管,真悲催),有一次尽然被拍照发到公司微信群(好几百人呀),果断辞职,然后找到一家可以睡午觉的公司!

    @冀 ++。:办公室里一群大姐大哥在讨论宝宝最近喝什么奶粉用什么尿片的时候跟老板辞职,老板说你要多少工资留下来,我说,跟钱没关系,等我结婚有小孩吧。

    原因四:钱的问题

    (钱给少或者拖欠工资)

    @萧牧梵:钱少。

    @羽:上上个公司钱少,还发工资不准时(因为刚出来工作,要饿死的节奏)而且需要设计的地方太少,需要跑腿的地方特别多,我就走人了…

    @豆芽:拖工资咯, 做了4个月,三个月才领到1500,最后逼急了找他吵架!把两个月的给我了,还有一个月的现在还没给。14年7月在那里,10月底做完就走了,到现在的公司一直没换,只在两个公司待过。

    @ 熊冉然:上一份工作因为老板两个月没有发工资,然后就离职了!

    @娉婷妖娆:因为老是不按时发工资,领着不到三千的工资,身兼3个职务,还老加班。

    原因五:加班太严重

    @暗夜:加班,做地产广告的天天加到两三点

    @昔日餘光。:就是钱少,正常都是一周休一天,他们一个月才休两天,还老是少发工资。哈哈,肯定不能说这个了

    @卫婵:钱少,活多,离家远


    原因六:离家太远

    @风轻云淡:我家在重庆九龙坡区,之前工作是在重庆渝北区,我每天上班路线是:出门(郊区)坐公交到镇上(20分钟左右,有时候还坐不到车)枢纽站在坐公交到主城(40-60分钟)然后就是幸福的时候了- 挤地铁,大概挤了40分钟左右到站了我就开始跑去上班了!每天就是起得比鸡早,睡得比牛晚,吃的是奶,挤的是草啊!

    @杨啊点:上下班将近4个小时,工作内容较少,接触面不广,没有什么大的长进,就辞职了。

    原因七:被解雇

    (公司倒闭/团队解散/或者被投诉或者自身能力不行)

    @PlayCool@Y:被投诉,然后就被炒。

    @Ida兰兰婆:第一份美工工作,我也是考虑有人要我就去了,然后去了发现公司没电脑,要自己背笔记本上班,对于我来说笔记本好重啊,然后用PS好卡的,加上背得背都是坨的,转正后就跟老板要求买个台式机,结果老板口头上答应买,但是一直没买,忍无可忍不想干活了,刚好又快过年想着过了年就辞职,结果过年一到公司人事就被辞退了,说我态度不好,唉!

    @利佩雯:今天老板和我们说公司要解散了,我们公司是创业公司,到今天为止到公司不到四个月,因为创业公司,我和程序员经常加班赶项目,互联网公司做APP一直在烧钱,公司每天的开支应该也不少,说完后我一个出去偷偷的哭了,我们一个十个人左右的创业团队一直在努力,大家都努力着,不过没关系我坚信以后的路会更好的,大家也会是,离职了会找到更好的

Open Toolbar