Cookie安全及Cookie跟踪技术导致个人隐私的泄漏

这篇文章是我所选修课程的作业,简单介绍了XSS、Cookie、Web安全威胁和个人隐私泄露问题,个人见解仅供参考,如有不当之处还望批评指正。

大家上网肯定对于HTTP并不陌生,完整的网址开头大多就是以http://开始的(当然不全是,加密的SSL浏览技术的网址是以https://开头的),HTTP表明的就是Hypertext Transfer Protocol超文本传输协议,大多数网页就靠它传输并呈现在我们的面前了。

现在的问题在于HTTP是建立在TCP/IP基础上的,我们知道TCP/IP协议是无状态协议(Stateless),这里的无状态就是说TCP/IP协议不保存连接的客户端的状态,更通俗一点是TCP/IP比较健忘,比如刚才客户端通过TCP/IP对服务器发送了一条消息,然后断开连接后再一次的连接服务器再发一条消息,这里同样的客户端,服务器并不知道这两条消息来自同一客户端,每次连接的建立服务器将认为是新客户端发起的请求。

继续阅读“Cookie安全及Cookie跟踪技术导致个人隐私的泄漏”

解决TMG发布网站导致The request was rejected by the HTTP filter

看了一下,距离上次发布文章已经有好长时间,主要是被项目搞得够呛,今天也有闲暇时间,正好把上次部署项目时遇到的一个问题简单的叙述下。

按照客户需求采用Forefront TMG 2010发布网站,实际的Web Server是建立在Hyper-V虚拟机上的,然后所有的访问受到TMG网关防火墙的过滤,我按照正常流程建立了网站发布规则,网站基本能正常访问,但感觉略慢些,估计是受到防火墙过滤的因素,没过多长时间,客户反应网站系统无法登录,登录时显示 The page cannot be displayed的错误。核心的错误提示消息是Error Code: 500 Internal Server Error. The request was rejected by the HTTP filter,具体的错误如下:

继续阅读“解决TMG发布网站导致The request was rejected by the HTTP filter”

收到Gmail的可疑登录警告邮件(Suspicious sign in prevented)

今天收到了一封来自Google标题为可疑登录阻止的邮件(Suspicious sign in prevented),心里一惊,想不会有人这么无聊吧,于是打开邮件,邮件意思是有人利用程序尝试多次登录我的邮件账户,然后给出了登录的细节,一看IP地址来自qq.com,联想到我这个Gmail是由qq邮箱代收的,顿时松了一口气,估计是QQ邮箱代收系统抽风了吧,但是从另一个层面讲,Google的这次提醒非常贴心,特别是邮件通知给出了解决的方案,并提示立即修改密码。而且在我登录到Gmail的时候顶部也以红色警告条提示邮箱被尝试可疑登录,给出了解决的步骤,顿时觉得Gmail的安全不是盖的。

继续阅读“收到Gmail的可疑登录警告邮件(Suspicious sign in prevented)”

利用软件安全漏洞巧设陷阱获取数据库用户名和密码

今天客户要求维护某信息管理系统的数据,该软件缺少相应功能,所以需要直接进入数据库系统,然后使用SQL语句进行维护。

但是该软件默认未提供连接数据库的用户名、密码和数据库名称,翻了下程序目录下的配置文件,找到了登录用户名sa以及数据库名称,但是密码却是一串奇怪的字符,看情况是被加密过了,现在要获取这个密码。

我分别尝试了好几种办法,比如使用sniffer嗅探软件,探测发送到数据库的数据包,使用编程的方式建立个假的数据库服务陷阱,但均告失败。sniffer只能探测经过网卡的数据,对于localhost本地流量一点反应都没有,至于服务陷阱,我使用Python简单写了个接收端口数据并输出的程序作为陷阱:

import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('localhost', 8000)) # 端口为8000
sock.listen(5)
 
while True:
    conn,addr = sock.accept()
    try:
        conn.settimeout(5)
        buf = conn.recv(1024)
        print(buf)
    except socket.timeout:
        print('Time out')
    conn.close()

继续阅读“利用软件安全漏洞巧设陷阱获取数据库用户名和密码”

博客被疑似自动化黑客工具攻击

就在刚才收到了WordPress的Login Lock报警邮件,IP地址为118.192.35.178尝试登录博客后台失败多次,并且IP地址已经被阻止,所尝试的用户名为88888\’。

顿觉奇怪,心想不会谁无聊蛋疼到想去通过程序漏洞尝试黑WP吧,至少WP有这么多朋友使用,加上官方强有力的支持,安全性还是有保障的。于是尝试搜索这个IP地址,果然被我找到了一些痕迹,主要是一些留言和评论板,基本上都是用户名为88888内容为空,或者用户名和内容都是88888。到这里,我心里稍稍有了点底,至少可以判断是自动化程序自动攻击的,然后看到那么多网站的帖子都有88888的痕迹,再推断是不是自动发贴机在作怪,就像WP里屡禁不止的垃圾评论一样,但是想想奇怪的是我垃圾评论里没有收到该IP类似的帖子,看来不仅仅是这么简单。

登录服务器,使用下面的命令导出和该IP相关的Nginx访问日志。

cd /var/log/nginx
cat *.log | grep 118.192.35.178 > /tmp/attack.log
cd /tmp
more attack.log

继续阅读“博客被疑似自动化黑客工具攻击”

配置iptables防火墙维护Linux/VPS服务器安全

也算是最近配置VPS的笔记吧,系统是Debian 5.0。

1. 什么是iptables

摘自百度百科:iptables 是与最新的 2.4.x 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。

准确的说iptables是IP信息包过滤系统,实际应用可以看作是防火墙,而且配置灵活,功能强大。如果我把Windows平台服务器迁移到Linux上面来的话,这个应该是取代ISA(Internet Security and Acceleration)或者ForeFront TMG的首选。

2. 如何获取iptables

可能有些Linux系统上已经安装了,如果没有安装,请使用下面的命令快速安装:

1
2
3
4
# Debian Ubuntu 系列使用apt-get
apt-get install iptables
# 或者CentOS Fedora 系列使用yum
yum install iptables

3. 如何使用iptables

3.1 查看规则和清理规则

使用iptables -L查看所有规则,正常情况下应该没有任何规则,如下:

1
2
3
4
5
6
7
8
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

如果不是这样,建议使用下面的指令清空现有规则,以便于我们下一步操作:

1
iptables -F

继续阅读“配置iptables防火墙维护Linux/VPS服务器安全”

解决了一处XSS跨站攻击漏洞

今天在对项目进行安全单元测试时发现的,主要是PHP在处理404页面时向用户展示所请求的URL不可访问的消息那儿的问题。The Request URL…这里直接读取的$SERVER[]变量,导致不怀好意者有机会在URL中构造XSS跨站脚本,其实这里只需要过滤一下即可,但是说明“永远不要相信用户的输入”这条安全守则的重要性,所有来自客户端的数据都要经过严格过滤,并保证最小数据要求,比如某模块只需求字母字符串,不过你把数字传过去也没有问题,但是严格来说在过滤时就应该过滤掉所有非字母的字符。

XSS也是前几年接触到的新的攻击技术,在这之前也就知道个SQL注入攻击,安全一直是个老生常谈的话题,不过我们往往注重某一点时会忽视另外一点,回顾过去的项目,几乎或多或少会存在XSS跨站漏洞,最经典的就是比如访问delete.asp?id=1就会删除id=1的数据记录,攻击者可以构造<img src=”http://example.com/delete.asp?id=1″ />的代码,然后诱使你访问,比如邮件什么的,当你访问时,即使没有任何操作,记录号为1的记录已经被删除了。XSS的另一个严重的问题就是Session会话劫持,攻击者会尝试劫持合法用户的会话ID,一旦会话劫持成功,攻击者就可以以合法登录者身份为所欲为了。

继续阅读“解决了一处XSS跨站攻击漏洞”

VBScript修改Windows远程协助桌面连接默认3389端口

最近在配置一台Windows Server 2008 R2的服务器,本来想装上个VNC的,不过想想Windows自带有远程桌面,就没必要这么麻烦了,于是开启了远程桌面访问,并且在TMG防火墙规则中配置了RDP(Terminal Services) Server规则,一切都很顺利,当路由器上映射完3389端口后,客户端成功访问并且连接!
可是过了一段时间发现,远程连接被断开,局域网连接仍然可以,外网死活都连接不上,于是查阅了TMG防火墙日志,发现有段大量不同IP尝试连接3389的记录,并且被TMG侦测为FLOOD攻击,所以拒绝了所有的外网请求,看来不能用默认的3389端口了,所以要更改默认的远程端口,具体怎么改,其实在Windows XP时代我就尝试着找可以改动的图形化界面,可是一直找不到最后还是修改注册表才更改成功。貌似现在在Win2008时代依旧不能找到图形化修改界面,看来又要修改注册表了。主要修改以下两条注册表信息的PortNamber值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\

为了避免以后再遇到这类问题,我觉得有必要写个脚本来解决。我们知道在VBScript中修改注册表有两种方式,第一种是使用组件WScript.Shell的RegWrite方法,遗憾的是这种方式常常会使杀毒软件误认为是病毒,因为有段时间WScript.Shell在网页挂马技术上很是流行,导致现在很多安全软件都封杀或者重点监控这个ActvieX组件。第二种是使用WMI方式,这个是我比较推荐的,下面的脚本将说明这些问题。

在提供脚本之前,大家可以到微软的脚本中心参考一下WMI操作注册表的一些方法。

继续阅读“VBScript修改Windows远程协助桌面连接默认3389端口”

几款免费的公共DNS域名解析服务介绍

公共DNS域名解析服务(Public DNS Service)是供大家进行域名解析的服务,有别于注册域名设置的Nameservers,虽然都属于解析域名的DNS服务,注册域名所设置的Nameserver DNS是该域名的权威解析服务器,而公共DNS域名解析服务器是一种非权威的域名解析,你向它发起查询,它将优先检索自己的缓存,没有的话才向上级DNS服务器直至该域名的权威服务器发起查询,并根据返回记录的TTL设置缓存公共DNS域名解析服务器的时间,这样下次查询就会快些。这也就是为什么返回的查询会有“非权威应答(Non-authoritative answer)”字样了。

有童鞋可能会问,为什么我们不直接查询权威DNS,而是让公共DNS服务器向权威服务器发起查询?这正是我们所要讲的区别,该域名的权威服务器只负责返回该域名或者其他在它上面注册的DNS记录,未经注册的域名,将无法返回记录,这也是一个由普遍到特殊的过程,公共DNS是普遍的,权威DNS是特殊的。负责返回权威DNS记录的是域名的顶级根服务器,通用顶级域名(gTLD)根服务器貌似全球就13台,好啦,更详细的有关DNS的知识还是参考网络方面的书籍吧。

今天我要介绍的是我们老百姓用的公共DNS解析服务,前面我已经介绍了关于DNS服务不正常导致能上QQ却打不开网页的问题。具体的设置可以参考那篇文章,当然我也提供了几组电信的DNS服务器地址,不过有时电信的DNS解析确实不给力,如果不喜欢电信的解析服务的话不妨尝试一下下面的免费DNS解析服务:

继续阅读“几款免费的公共DNS域名解析服务介绍”

探测网站的挂马情况?

今天在例行检查网站日志时发现的一个奇怪的现象,IP地址为115.228.221.*的客户端于7月26日下午17:27相继访问了以下路径:

1
2
3
4
/vqugincstion.asp  - File does not exist Error
/incstion.asp      - File does not exist Error
/gjghcss.asp       - File does not exist Error
/css.asp           - File does not exist Error

我网站上根本不存在这些文件,那这位童鞋为什么要探测这些文件呢?经过网络搜索,我找到了一家经营网站漏洞修复、木马清理的网站,问题已经有些明朗了,基本排除是黑客通过搜索来寻找WebShell后门,因为即使找到也需要挂马者的密码,否则也无法使用,所以初步怀疑是这些经营安全修复的网站通过网友提交被黑网站,然后通过与这些被黑网站进行联系以获取他们的服务的一种行为,不过这样通过特定文件名来寻找网站被黑的证据是不是略显麻烦了点呢:-)