web应用的安全测试~

本文详细介绍了Web应用中的SQL注入和XSS攻击,包括它们的原理、测试方法和防范措施。针对SQL注入,文章讲解了如何通过注入恶意SQL语句获取数据库信息,以及如何通过'or 1=1#'进行后台身份验证绕过。对于XSS攻击,阐述了注入恶意脚本的原理,并提供了验证方法。同时提到了使用IBM Security AppScan Standard进行工具测试的步骤。
摘要由CSDN通过智能技术生成

一、手动测试
1、SQL注入
原理:将有恶意的SQL语句作为参数进行输入,使得服务器执行该恶意的SQL命令,从而获得数据库的相关信息或篡改数据库的数据。
原因:开发对输入没有做细致的过滤。
防护:加密、过滤输入、使用自定义的错误提示等。
注入:
1)先输入猜测的表名,如果返回成功,
And (Select count(*) from 表名)<>0
说明该表名正确;然后再猜测列名,同理,如果返回成功,说明该列名正确。
And (Select count(列名) from 表名)<>0
2)后台身份验证绕过
前提是:账号和密码在同一条查询语句;密码不加密。
原理:验证绕过漏洞就是’or’=‘or’后台绕过漏洞,利用的就是AND和OR的运算规则,从而造成后台脚本逻辑性错误。
在这里插入图片描述
3)利用万能语句(’or 1=1#)屏蔽密码进行登录
比如:在用户名输入框中输入:’or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为:
   select * from users where username=’’ or 1=1#’ and password=md5(’’)
  语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了。
例子:
http://www.guoshang.tk/news/read.php?id=50
1、 可以看出这是一个动态URL,也就是说可以在地址栏中传参,这是SQL注入的基本条件。
2、判断是否存在sql注入可能。
在地址后面空上一格,敲入 and 1=1 ,然后 and 1=2 。敲入 and 1=1 帖子返回正常, and 1=2 时帖子返回出错,说明sql语句被执行,程序没有对敏感字符进行过滤。现在可以确定此处是一个SQL注入点,
http://www.guoshang

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值