2013年4月11日星期四
设计缺陷导致的后台沦陷
目录泄露(配置问题) ->
关键路径外网可见(没有身份验证)->
内网只通过X-FORWARD-FOR做验证(直接header欺骗绕过) ->
后台沦陷
2013年3月28日星期四
Spamhaus DDoS
2013年3月11日星期一
flash 关键函数参数未做检查,导致XSS
ExternalInterface.call 调用前未检查传入参数,直接XSS
不做过滤直接调参数,基本上是直接沦陷
2013年3月5日星期二
2013年3月1日星期五
与FLASH的allowscriptaccess相关的存储型XSS
朋友网日志引用的flash object的allowscriptaccess设为always,只要 movie的value是 http://qzs.qq.com域名下即可执行
则,只要找到一个qzs.qq.com域名下的具有XSS缺陷的flash文件
即可结合,导致存储型XSS
2013年2月28日星期四
Javascript : getAttribute后直接输出到innerHTML导致XSS
getAttribute获取的内容会自动反转义
如果没有进行二次过滤,直接输出到innerHTML
会导致XSS漏洞
2012年9月27日星期四
XSS DDOS 笔记
<head></head>
<body>
<script>
var xhr = new XMLHttpRequest()
xhr.open("GET", "http://www.apache.org/", true);
xhr.setRequestHeader("Range", "bytes=0-100");
xhr.setRequestHeader("Accept-Encoding", "gzip");
xhr.send();
</script>
<h1>test</h1>
</body>
</html>
2012年9月4日星期二
2012年1月10日星期二
笔记:关于构造冲突串使hash退化为链表
论文:CrosbyWallach_UsenixSec2003.pdf
先汗一个,这论文都整出来多少年了……
问题在于各基础语言用的是“伪HASH”,桶长较小,冲突串容易构造。
加随机数初始化,且限制提交字符的串长度缓解。
参考:2007_28C3_Effective_DoS_on_web_application_platforms.pdf
perl的fix说明:perlsec.html#Algorithmic-Complexity-Attacks
perl5.8.1之后,大体上是加个随机种子PERL_HASH_SEED,且运行时一些操作可以动态改变hash值在桶内的位置,增加构造冲突串的复杂度。
由于这个随机处理,两次执行相同脚本,相同hash打出来的key顺序也不同。并且每次插入hash值也会导致key顺序发生变动。perl并不保证hash的key顺序一直固定。
可以把PERL_HASH_SEED置0,则不做随机处理,用于一些特殊的函数,如List::Util::shuffle()。
2011年11月14日星期一
笔记:关于DNSCURVE
资料:
注意,DNSCURVE提供点到点的安全,而非端到端;也就是说,能保证采用DNSCURVE通信的相邻两节点DNS查询/应答通信数据的加密、认证。
DNSCURVE:
- 针对“NS”的公钥认证,维护成本较低;一个NS可以有多个公私钥对
- 挑战码+DH交换协商对称密钥,支持加密通信
- 客户端时间不准对解析结果无影响,抗重放攻击
- 不会降低外部探知整个域配置的难度
- 没有引入新RR,域名配置文件略微增大,主要是NS记录比以前长,可以继续用UDP
- 耗CPU的攻击威胁增大,每个包都要涉及加解密计算,否定缓存应答不需要特殊处理
- 放大攻击的风险较小
DNSSEC:
- 针对“域”的公钥认证,维护成本较高
- 不支持加密通信
- 客户端时间不准可能导致新公钥认证的域名配置被判为错误,需要NTP严格校准时间,会有重放攻击的问题
- NSEC/NSEC3会降低外部探知整个域配置的难度
- 引入新RR,域名配置文件显著变大,以后用TCP比较靠谱
- 耗CPU的攻击威胁增大,否定缓存应答需要特殊的临时计算
- 放大攻击的风险大增
二者可结合使用,例如,解析some.test.com,用DNSSEC认证“.”与“com.”,到test.com的ns再开始用DNSCURVE
opendns支持DNSCURVE
2010年11月21日星期日
一些笔记
smurf 攻击:攻击源向一堆机器发源伪造的icmp包,导致一堆机器向受害机器回复ICMP包,最终受害机器挂掉。
ssl依赖于客户端信任服务器证书的程度,如果客户端信任一个伪造的证书,那么安全也无法保证。
setuid 临时提升普通用户权限
sticky bit : 用户对目录具有写权限时,能增加文件,不能删除文件
修改mac地址:ifconfig eth0 hw ether [MAC]
traceroute 中间有些跳是 ***,没有显示IP地址,原因是这些跳没有响应ICMP超时消息。如果从某一跳开始,后续所有跳都是***,有可能是带***的第一跳试图过滤返回该源IP的ICMP超时消息。
lsof -i 列出所有使用中的tcp/udp端口
tcpdump 参数:-nn 禁止协议查找;-c 捕获包数
交换机通过CAM(内容可寻址)存储器来保存和维护ARP缓存
arp 毒化:arp -s <受害者IP> <自身MAC> pub
混杂模式网卡: ifconfig 显示 PROMISC标识
2010年10月26日星期二
Perl :ARP中毒例子
见:Sam's Blog - ARP Poisoning with Perl
正常节点:
A, IP address: 192.168.1.100, MAC address: 00:e1:e2:e3:e4:e5
B, IP address: 192.168.1.1, MAC address: 00:f1:f2:f3:f4:f5
恶意节点的MAC地址:00:aa:bb:cc:dd:ee
中间人攻击的一种形式。
2009年3月23日星期一
关于AAA
What is the difference between authentication and authorization?
这里讨论了认证(authentication)和授权(authorization)的区别。
记得这是学计算机安全时syy讲的AAA protocol内容,应该还有个A,原来是审计(Accounting)。
认证(authentication):验证用户身份是否合法。
授权(authorization):检查用户是否有权执行某些操作。
审计(Accounting):记录、统计用户消费的资源信息。

