可以在phpinfo里面看到mongo就大功告成了。
撞匙是锁匠(和黑客)用来开一些普通锁所使用的的简单工具。到目前为止,很多锁由于过于复杂无法被撞匙打开,所以还是安全的,也因此由于这种复杂性而让人有一点安全感。而这一切现在都发生了改变。
由乔斯·威尔斯(JosWeyers)和克里斯蒂安·霍勒(ChristianHoller)创造出来的这些钥匙,在被锤子撞击后,可以用来敲打或撞击开标准锁的锁芯。这两人发现了根据锁孔本身的照片来3D打印一个适合锁眼的塑料钥匙的方法。在塑料材料经过几次精细的裁剪之后,你就可以拿到一个可用的钥匙了。
两人并不希望人们用这个工具闯入军事设施。相反,他们想要展示大多数门锁是如何地原始,而且要骗过安全系统真的是变得越来越容易。如果任何人只要有3D打印机和相机就可以制作一把钥匙,那为什么还要锁呢?
先上效果:
0×01实验环境
我先说一下我的实验环境:
主机:ubuntu虚拟机:windowsXP(vbox)软件:squid、apache拓扑环境就不多废话了,我这边是host通过wlan0上网,虚拟机选择Host-Only模式,连接到主机的vboxnet0接口(默认的,我没修改)。
0×02系统配置
这里,我们首先要把系统的网络转发功能打开,可以使用
echo1>/proc/sys/net/ipv4/ip_forward暂时启用,当然也可以修改sysctl.conf永久转发。然后,对虚拟机进行ip设定,我这里设置为192.168.56.21,子网掩码255.255.255.0
sudoservicesquidrestart(squid3的服务名称是squid3),这里注意对于squid的任何操作一定要记得用sudo执行,否则会报错。
当然,脚本只是使用了flip选项,当然这里不建议使用过于复杂的命令,会使浏览器响应过于慢。关于imagemagic的更多的效果可以从网上查阅,是一个相当强大的命令行图片控制软件。
0×05更多猜想实验已经成功,那么我们说回到我们今天的MITM主题上面。有的同学或许会问:你得得得得说这么多,怎么应用啊?我这里提供一个小的方式,抛砖引玉:可以买一树莓派,买一个usb上网卡,一张中国联通或者中国电信的卡,再买一个无线网卡,用airport建个无线信号,买个电源,装上linux配置好squid,当然还可以打开sniff,配好接收数据的服务器。。
剩下的就是:背好你的背包,默默走到斯达巴克斯,点一杯咖啡,用吸管慢慢品尝这份苦茗,望向窗外花坛那朵玫瑰,心里静静地想着那个TA。。。说道这里,大家可能会想到菠萝,其实因为菠萝使用的是openwrt的精简系统,很多东西不可以使用,而且配置比起树莓派低了一些,大批量的图片操作很容易让CPU狂飙,自带的MITM最近貌似也不能用了?不过还是推荐Geek们自行动手~
如果有更多的想法,我们一起交流。
0×06注意事项因为我在做实验的过程中也遇到了很多问题,这里贴出一些常见的问题,大牛略过吧~:)1、注意接收图片文件夹的权限和隶属于的用户,最好是能与squid用户相同的用户组。如果不是,可以使用chown进行修改。例:chownproxy.proxyxxx2、注意脚本文件的权限。脚本文件必须是可以被squid用户执行的。3、注意log文件的权限,关于log文件一共有三个,位于/var/log/squid3/下,分别是cache.log、store.log、access.log,这三个文件必须是可写的,同时也可以直接用chown改变用户所有权限。4、遇到更多虚拟机打不开网页的问题,大家可以查阅/var/log/squid3/cache.log,这里会给出很详细的说明。这里我能想到的暂时就这么多了,再有什么其他问题我们可以一起交流,我这里有一把肥皂。。。
上几张图吧~
抬头看烟花好累,有没有想过置身其中体验一把百焰齐发的感觉?
还记得全自动伸缩金刚狼爪吗?那是他的作品。还记得能在天花板上凌波微步的反重力靴子吗?那也是他的作品。还记得装在手腕上的火焰喷射器吗?没错,还是他的作品。
虽然有点老生常谈,但我还是要说:非专业人士请勿模仿。或者容我改一下措辞:非柯林·福尔泽本人,请勿模仿。
禁止一切外链资源
外链会产生站外请求,因此可以被利用实施CSRF攻击。
目前国内有大量路由器存在CSRF漏洞,其中相当部分用户使用默认的管理账号。通过外链图片,即可发起对路由器DNS配置的修改,这将成为国内互联网最大的安全隐患。
案例演示
百度旅游在富文本过滤时,未考虑标签的style属性,导致允许用户自定义的CSS。因此可以插入站外资源:
所有浏览该页面的用户,都能发起任意URL的请求:
由于站外服务器完全不受控制,攻击者可以控制返回内容:
要是在热帖里『火前留名』,那么数量远不止这些。
如果使用发帖脚本批量回复,将有数以万计的用户网络被劫持。
防范措施
杜绝用户的一切外链资源。需要站外图片,可以抓回后保存在站内服务器里。
对于富文本内容,使用白名单策略,只允许特定的CSS属性。
尽可能开启ContentSecurityPolicy配置,让浏览器底层来实现站外资源的拦截。
富文本前端扫描
富文本是XSS的重灾区。
富文本的实质是一段HTML字符。由于历史原因,HTML兼容众多不规范的用法,导致过滤起来较复杂。几乎所有使用富文本的产品,都曾出现过XSS注入。
旅游发帖支持富文本,我们继续刚才的演示。
由于之前已修复过几次,目前只能注入embed标签和src属性。
但即使这样,仍然可以嵌入一个框架页面:
因为是非同源执行的XSS,所以无法获取主页面的信息。但是可以修改top.location,将页面跳转到第三方站点。
总之,富文本中出现可执行的元素,页面安全性就大打折扣了。
这里不考虑后端的过滤方法,讲解使用前端预防方案:
无论攻击者使用各种取巧的手段,绕过后端过滤,但这些HTML字符最终都要在前端构造成元素,并渲染出来。
因此可以在DOM构造之后、渲染之前,对离屏的元素进行风险扫描。将可执行的元素(script,iframe,frame,object,embed,applet)从缓存中移除。
或者给存在风险的元素,加上沙箱隔离属性。
DOM仅仅被构造是不会执行的,只有添加到主节点被渲染时才会执行。所以这个过程中间,可以实施安全扫描。
但推荐使用动态方式进行渲染,可扩展性更强,并且性能消耗最小。
跳转opener钓鱼
因此,用户点了网站里的超链接,导致原页面被打开的第三方页面控制。
虽然两者受到同源策略的限制,第三方无法访问原页面内容,但可以跳转原页面。
由于用户的焦点在新打开的页面上,所以原页面被悄悄跳转,用户难以觉察到。当用户切回原页面时,其实已经在另一个钓鱼网站上了。
百度贴吧目前使用的超链接,就是在新窗口中弹出,因此同样存在该缺陷。
攻击者发一个吸引用户的帖子。当用户进来时,引诱他们点击超链接。
通常故意放少部分的图片,或者是不会动的动画,先让用户预览一下。要是用户想看完整的,就得点下面的超链接:
由于扩展名是gif等图片格式,大多用户就毫无顾虑的点了。
事实上,真正的类型是由服务器返回的MIME决定的。所以这个站外资源完全有可能是一个网页:
当用户停留在新页面里看动画时,隐匿其中的脚本已悄悄跳转原页面了。
用户切回原页面时,其实已在一个钓鱼网站上:
该缺陷是因为opener这个属性引起的,所以得屏蔽掉新页面的这个属性。
但通过超链接打开的网页,无法被脚本访问到。只有通过window.open弹出的窗口,才能获得其对象。
所以,对页面中的用户发布的超链接,监听其点击事件,阻止默认的弹窗行为,而是用window.open代替,并将返回窗体的opener设置为null,即可避免第三方页面篡改了。
当然,实现中无需上述Demo那样复杂。根据实际产品线,只要监听用户区域的超链接就可以。
用户内容权限
支持自定义装扮的场合,往往是钓鱼的高发区。
一些别有用心者,利用装扮来模仿系统界面,引诱用户上钩。
案例演示–空间越界
百度空间允许用户撰写自定格式的内容。
其本质是一个富文本编辑器,这里不演示XSS漏洞,而是利用样式装扮,伪装一个钓鱼界面。
百度空间富文本过滤元素、部分属性及CSS样式,但未对class属性启用白名单,因此可以将页面上所有的CSS类样式,应用到自己的内容上来。
规定用户内容尺寸限制,可以在提交时由用户自己确定。
不应该为用户的内容分配无限的尺寸空间,以免恶意用户设置超大字体,破坏整个页面的浏览。
最好将用户自定义的内容嵌套在iframe里,以免影响到页面其他部位。
如果必须在同页面,应将用户内容所在的容器,设置超过部分不可见。以免因不可预测的BUG,导致用户能将内容越界到产品界面上。
案例演示–功能越界
自定义装扮通常支持站外超链接。
相比贴吧这类简单纯文字,富文本可以将超链接设置在其他元素上,例如图片。
因此这类链接非常具有迷惑性,用户不经意间就点击到。很容易触发之前提到的修改opener钓鱼。
如果在图片内容上进行伪装,更容易让用户触发一些危险操作。
要是和之前的区域越界配合使用,迷惑性则更强:
和之前一样,对于用户提供的超链接,在点击时进行扫描。如果是站外地址,则通过后台跳转进入,以便后端对URL进行安全性扫描。
如果服务器检测到是一个恶意网站,或者目标资源是可执行文件,应给予用户强烈的警告,告知其风险。
点击劫持检测
点击劫持算是比较老的攻击方式了,基本原理大家也都听说过。就是在用户不知情的前提下,点击隐藏框架页面里的按钮,触发一些重要操作。
但目前在点击劫持上做防御的并不多,包括百度绝大多数产品线目前都未考虑。
攻击者事先算出目标按钮的尺寸和坐标,将页面嵌套在自己框架里,并设置框架的偏移,最终只显示按钮:
接着通过CSS样式,将目标按钮放大,占据整个页面空间,并设置全透明。
事实上,点击劫持是很好防御的。
因为自身页面被嵌套在第三方页面里,只需判断self==top即可获知是否被嵌套。
确认框的坐标位置最好有一定的随机偏移,从而使攻击者构造的点击区域失效。
一个大龄美女博士,终于找到了自己的归宿,恭喜。
linux重定向及nohup不输出的方法先说一下linux重定向:0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null,例如:
#ls1>/dev/null2>/dev/null
还有一种做法是将错误重定向到标准输出,然后再重定向到/dev/null,例如:
#ls>/dev/null2>&1
注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到/dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,于是一切静悄悄:-)
由于使用nohup时,会自动将输出写入nohup.out文件中,如果文件很大的话,nohup.out就会不停的增大,这是我们不希望看到的,因此,可以利用/dev/null来解决这个问题。
nohup./program>/dev/null2>log&
如果错误信息也不想要的话:
nohup./program>/dev/null2>&1&
ygwu@2005年04月18日上午10:03
Forexample:如何远程启动WebLogic服务用telnet远程控制服务器,远程启动WEBLOGIC服务,启动后关闭telnet,WebLogic服务也跟着停止,这是因为使用telnet启动的进程会随着telnet进程的关闭而关闭。所以我们可以使用一些UNIX下的命令来做到不关闭。
使用如下命令:
nohupstartWeblogic.sh&
如果想要监控标准输出可以使用:
tail-fnohup.out
访客留言FreeBSD可以同时运行多个进程,在shell下直接输入命令后,shell将进程放到前台执行。如果要将进程放到后台执行,需要在命令行的结尾加上一个“&”符号。下面的命令从后台执行,从ftp.isc.org下载文件。
$fetchftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz&
当程序已经在前台执行的时候,可以使用^Z将这个程序挂起,暂停执行。然后可以使用bg命令将这个挂起的程序放到后台执行,或者使用fg将某个在后台或挂起的进程放到前台执行。
当在后台运行了程序的时候,可以用jobs命令来查看后台作业的状态。在有多个后台程序时,要使用来参数的fg命令将不同序号的后台作业切换到前台上运行。
$jobs
[1]+Runningfetchftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz&
$fg%1
fetchftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz
在启动了多个程序之后,可以使用ps命令来查看这些进程及其状态。
$ps
PIDTTSTATTIMECOMMAND
501p2Ss0:00.24-bash(bash)
988p2R+0:00.00ps
765p3Is+0:00.28-bash(bash)
230v0Is+0:00.14-bash(bash)
可以给ps命令加上参数,来获得更多的输出内容,以下命令将输出系统中所有的进程:
$pswaux
USERPID%CPU%MEMVSZRSSTTSTATSTARTEDTIMECOMMAND
wb9890.00.4400236p2R+5:48PM0:00.00ps-aux
root20.00.000DL10:12PM0:07.05(pagedaemon)
root30.00.000DL10:12PM0:00.20(vmdaemon)
root40.00.000DL10:12PM0:04.27(syncer)
root910.00.5820328Is2:12PM0:00.82syslogd
root1310.00.3864164Is2:12PM0:00.06inetd
root1340.00.3980192Is2:12PM0:00.11cron
root1380.00.61252380Is2:12PM0:00.11sendmail:accepti
wb2300.01.11540668v0Is+2:12PM0:00.14-bash(bash)
root5000.00.9876524Ss4:19PM0:01.78telnetd
wb5010.01.41540888p2Ss4:19PM0:00.24-bash(bash)
root6980.01.51644900Is4:49PM0:00.02/usr/local/sbin/s
root7000.01.21308748Ss4:49PM0:00.22/usr/local/sbin/n
root7020.03.429002112S4:49PM0:00.32/usr/local/sbin/s
root7640.00.9880540Is5:10PM0:00.22telnetd
wb7650.01.715361052p3Is+5:10PM0:00.28-bash(bash)
root00.00.000DLs10:12PM0:00.02(swapper)
从上面的ps的输出结果可以看出,有些程序没有控制终端,这些程序通常是一些后台进程。使用命令nohup当然可以启动这样的程序,但nohup启动的程序在进程执行完毕就退出,而常见的一些服务进程通常永久的运行在后台,不向屏幕输出结果。在Unix中这些永久的后台进程称为守护进程(daemon)。守护进程通常从系统启动时自动开始执行,系统关闭时才停止。如果偶然某个守护进程消失了,那么它提供的服务将不再能被使用。
在守护进程中,最重要的一个是超级守护进程inetd,这个进程接管了大部分网络服务,但并不是对每个服务都自己进行处理,而是依据连接请求,启动不同的服务程序与客户机打交道。inetd支持网络服务种类在它的设置文件/etc/inet.conf中定义。inet.conf文件中的每一行就对应一个端口地址,当inetd接受到连接这个端口的连接请求时,就启动相应的进程进行处理。使用inetd的好处是系统不必启动很多守护进程,从而节约了系统资源,然而使用inetd启动守护进程相应反应会迟缓一些,不适合用于被密集访问的服务进程
先把ip过滤出来,然后加到iptables里面
另外写了一条,将日志导出到某个文件,方便查看
将这两条都加入到crontab里面,隔几分钟执行一次。
另外强烈鄙视一下下面这些IP,诅咒早日关门大吉。
116.10.191.165=162116.10.191.183=183116.10.191.196=113116.10.191.204=135116.10.191.227=184116.10.191.229=41116.10.191.230=173117.21.225.157=301117.79.91.244=882212.83.150.76=2461.174.50.235=17061.174.51.232=3561.33.155.74=12482.221.106.233=1
1.234.70.30=23115.239.248.121=72115.239.248.122=90115.239.248.50=24115.239.248.51=18115.239.248.57=12115.239.248.61=144115.239.248.90=60116.10.191.167=142116.10.191.175=168116.10.191.236=26117.21.191.209=48117.21.191.210=78117.21.225.157=78117.21.226.103=60183.56.129.146=20198.8.61.141=15220.177.198.24=228220.177.198.38=30220.177.198.40=90220.177.198.43=12220.177.198.93=264222.186.34.143=138222.186.34.36=330222.186.38.109=42222.186.40.170=306222.186.40.251=198222.186.56.33=4858.241.61.162=5360.173.26.16=259461.174.50.216=4061.174.51.207=15161.174.51.217=15061.174.51.227=22261.174.51.235=2
第二章二少传
数月前沐沐抓了只青蛙回来,养水桶里,第二天发现它不见了,找了很久都没找到。昨天打扫卫生时,发现厨房门后有个怪东西,走进一看,是缩成一团的青蛙,偶尔还动一下,放进水里,游得很欢。感叹这只青蛙真的很顽强,没有水没有食物几个月都挺过来了。
有了这个一起共享VisualStudio壁纸来美化自己的桌面的网站,你还等什么呢?
说起市面上的高效节能智能灯泡,消费者的选择还是不少的,能叫上名的就有LIFX、飞利浦的Hue、Brightup、LuMini、Emberlight、LightFreq还有三星的蓝牙SmartBulb。这些产品的特点各异,但花哨的灯光颜色(甚至还有铃儿响叮当的功能)却是共同的特点。除此之外,它们还有一个共性,那就是必须使用相对应的手机应用进行控制。
但如果你不想连调个灯光亮度都要麻烦手机(其实是你自己),那么接下来的产品可能就是你需要的。
一般对于传统灯泡,把墙上的开/关面板换成旋钮式面板,或者买一个直接插到电源插座上的明暗控制器就可以解决这个问题,但如果你不想用传统的解决方案,非要使用智能灯泡,那么就会如上面所说每次都要使用手机进入物联网控制,这比用传统灯泡要麻烦多了。
不过,问题马上就能得到解决了。Kickstarter上的一个项目为人们提供了一只更智能的LED灯泡,它可以在不用安装任何额外应用或者更换旋钮面板的前提下调整灯泡的亮度,而且它的外观还很有型呢。
这款“更智能的灯泡”叫做NanoleafBloom,整个灯体由33颗LED灯珠均匀覆盖,并直接利用大多数家庭里的开/关面板控制亮度,这意味着户主不需要额外的硬件和或者应用就能控制,一步到位。说实话我心里已经长草了,估计买上10个都不够。而且,看项目的进展,我觉得很多人都和我抱有同样的想法——项目原先的3万美元筹资目标早在几天前就达成了,现在,距项目结束还有24天的时候,它们获得的资金总额是13万8千美元!
NanoleafBloom包含一个微处理器,它能够将墙上的普通开关转换成可调亮度开关。要设置灯泡亮度,首先打开开关,灯泡开始由暗转明,达到你要的亮度时,关掉开关再打开就可以锁定了,就这么简单。
这款灯泡可以阶梯式调暗,只需按几下开关。此外它还提供了亮度5%(功率0.5W)的夜灯模式,只要快速开-关-开一次就可以了。如果你想要最亮,只要像普通灯泡一样打开开关,按下关闭的时候它就会直接熄灯,简单明了。要知道这一切的控制不需要任何形式的应用和额外控制器实现,简直太神奇了。
那么,NanoleafBloom到底要多少钱呢?在Kickstarter上,他们为初期支持者提供了40美元一只的价格,即使是优惠价也不算便宜,不过算上开发团队的巧思和努力以及简约的设计,这笔投资还是很值得的。