分类 安全防护 下的文章

docker搭建WEB漏洞环境

docker的出现,方便了很多人,因为他的隔离,非常适合来制作漏洞的靶场
这里来说一下搭建WEB漏洞环境
准备工作

  • github账号
  • docker账号
  • 本机装有docker

一。
dockerfile的固定格式,在github写好

FROM yiwang666/lamp //镜像
MAINTAINER YiWanG admin@yiwang6.cn

COPY src/weichuang.zip /tmp/weichuang.zip
COPY src/weichuang.sql /tmp/weichuang.sql }漏洞的源码以及数据库

RUN apt-get install -y unzip //安装unzip

WORKDIR /tmp
RUN set -x
&& apt-get install -y php5-mysql php5-dev php5-gd php5-memcache php5-pspell php5-snmp snmp php5-xmlrpc libapache2-mod-php5 php5-cli unzip
&& rm -rf /var/www/html/*
&& unzip -x /tmp/weichuang.zip
&& cp -r /tmp/* /var/www/html/
&& /etc/init.d/mysql start
&& mysql -e "CREATE DATABASE weichuang DEFAULT CHARACTER SET utf8;" -uroot -p
&& mysql -e "use weichuang;source /tmp/weichuang.sql;" -uroot -p
&& rm -rf /tmp/*
&& chown -R www-data:www-data /var/www/html //安装php,mysql等,并把源码解压放到目录以及导入数据库

COPY src/start.sh /start.sh
RUN chmod a+x /start.sh

EXPOSE 80
CMD ["/start.sh"] //运行

以上是一个简单的dockerfile,规范格式是一个dockerfile,然后一个文件夹,下面有start.sh,源码包以及数据库文件。
可以参考一下
https://github.com/yiwang6/weichuang
二。并在hub.docker.com上传,hub支持绑定github,只需要添加一下任务,可以自己从github复制dockerfile以及源码
这里有一点需要说明,hub上添加之后,需要在此处点击触发ssssss.png,等待大约5分钟,此处变成success,aaaaa.png一个漏洞环境就制作好了,只需本机docker拉取就OK,如果遇到error,需要仔细排查dockerfile是否有地方写错,比如数据库名忘记改之类的小问题

你的银行卡,我的钱——POS机安全初探[转]

【前言】

  现代社会,刷卡已经非普及了,所以POS系统(Point Of Sales System)的应用非常普遍,在商场、餐厅、酒店、医院等场所都能见到它的身影。



  移动支付体系下的新式的POS机一般是连接第三方支付机构使用银行卡快捷支付,技术上引入了蓝牙/WiFi/音频(用于POS刷卡器与POS终端主机通讯)、Android/iOS(POS终端主机APP支持的系统),更便捷的同时引入更多安全问题。



  我们针对几个品牌的POS机进行了安全测试,结果却让人感觉害怕:把卡在黑客控制的POS机上刷一下后,银行卡还在你手上,黑客却可以继续刷卡,刷光里面的钱(你的卡,我的钱)。

【场景演示】

   我们分析了国内几款知名的POS机,发现其系统设计都存在类似的安全漏洞,经过对数据篡改后,可以对刷卡的人扣取任意费用。



   无图无真相,看下图。

1.jpg

   漏洞原理比较简单,但是影响却让人感觉害怕。我们遵循负责任的安全漏洞报告流程,漏洞细节已经报告给相关厂商修复。

【技术分析】

  现在到了技术分析时间。



   我们分析发现,该款POS机在向服务端发送指令时是包含了一个防止重放攻击的随机数,但是服务端却没有验证随机数,结果就是POS机向服务端发的包可以重放攻击。同时,POS终端发出的指令包也没有数字签名,可以任意修改。



  于是漏洞就产生了,攻击者通过正常刷卡获得受害者银行卡的一些信息后,可以自行生成一个付款指令到服务端,这样受害者的银行卡就被扣款了。



  大致的漏洞示意图如下(具体的细节就略过):

2.jpg

  修复方法也比较简单,服务端校验这个随机数就可以了。这样即使是重放,由于随机数已经出现过了,所以攻击会失效。但是问题又来了,黑客如果直接拦截改包而不是嗅探,那么怎么防护呢?加一个数字签名吧。



  这个漏洞的本质是信息化后不安全的IT系统洞穿了基于“拥有”(银行卡)加基于“知道”(密码)的身份认证体系。试想一下,未来的生物特征(指纹、声纹、虹膜等)认证方式同样是信息化的,是否也会存在这种隐患呢?

【防范恶意POS机】

  通过上文可以看到,POS机的安全隐患还是较大的,现在我们的研究团队成员出门刷卡时看到POS机心里就特紧张。



  那么,怎么防范呢?



  金融安全关系重大,特别是随着互联网金融的兴起和发展,带来的安全问题只会越来越多,监管机构、厂商和普通用户都应该对此引起足够重视。



   对于监管机构来说,厂商发布的金融类产品的安全质量应有切实可行的规章制度流程来保证。



   对于厂商来说,硬件设备要遵循SDL流程,将大部分安全风险消除在发布前——毕竟终端的升级成本会高于在线服务很多,而且随着互联网金融的发展,传统金融行业隐匿起来的安全风险会被更多的发现。



   对于普通用户来说,为了防备恶意POS机,最好准备两张卡,一张专门用于存钱,一张专门用于刷卡和网银,这样即使被盗刷了损失也可控;同时开通银行的单笔消费通知(微信和短信双管齐下),如果有异常消费就可以第一时间发现和处理了。

【后记】

   随着互联网的发展,结合硬件、软件、通讯架构下的智能设备的安全问题还很多,随着时间的推移和业界的关注,这些问题会逐渐爆发出来(比如最近对部分省份电信DNS Server 产生DDoS攻击的感染摄像头的蠕虫)。

简单的反射型XSS漏洞挖掘与防御

<?php

if(!array_key_exists ("name", $_GET) || $_GET['name'] == NULL || $_GET['name'] == ''){

$isempty = true;

} else {

echo '< pre>';
echo 'Hello ' . $_GET['name'];
echo '</ pre>';

}

?>
我们看这段代码,没有经过任何过滤,本地测试,成功弹框4444.png

<?php

if(!array_key_exists ("name", $_GET) || $_GET['name'] == NULL || $_GET['name'] == ''){

$isempty = true;

} else {

echo '< pre>';
echo 'Hello ' . str_replace('< script>', '', $_GET['name']);
echo '</ pre>';

}

?>
下面,来看这段代码,过滤了script,但xss不仅仅是过滤script那么简单的事,本地测试下555.png果然是不可以的,不用script,用img标签,成功弹框。防御的话,过滤script,alert,javascript,<,>,/,img等标签即可66666.png