(4) URL参数中进行SQL 注入
什么是SQL注入? SQL注入全称是SQL Injection ,当应用程序使用输入内容来构造动态sql语句以访问时,会发生sql注入攻击,如查询、插入数据时。
测试方法: URL中写入SQL注入语句,看是否被执行,如:’or 1=1;shutdown
一般情况下要进行SQL注入攻击,需要对类型、表名、判断逻辑、查询语句等比较清楚才能够写出有效的SQL注入语句。
(5) ...
7. 表单提交安全
(1) 表单中注入XSS脚本
测试方法:即在表单填写框中直接注入JS脚本 如在表单中输入XSS脚本,程序是不应该让脚本执行的。
(2) 表单中注入SQL 脚本
(3) ...
8. 上传文件安全
分析:上传文件最好要有格式的限制;上传文件还要有大小的限制。
9. Email Header Injection(邮件标头注入)
Email Header Injection:如果表单用于发送email, 表单中可能包括“subject”输入项(邮件标题), 我们要验证subject中应能escape掉“\n”标识。
<!--[if !supportLists]--><!--[endif]-->因为“\n”是新行,如果在subject中输入“hello\ncc:spamvictim@example.com”,可能会形成以下
Subject: hello
cc: spamvictim@example.com
<!--[if !supportLists]--><!--[endif]-->如果允许用户使用这样的subject,那他可能会给利用这个缺陷通过我们的平台给其它用 户发送垃圾邮件。
10. 不恰当的异常处理
分析:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞;
11. ...
WEB的安全性测试主要从以下方面考虑:
1.SQL Injection(SQL注入)
(1)如何进行SQL注入测试?
注1:对 于未明显标识在URL中传递参数的,可以通过查看HTML源代码中的"FORM"标签来辨别是否还有参数传递.在<FORM> 和</FORM>的标签中间的每一个参数传递都有可能被利用.
注 2:当你找不到有输入行为的页面时,可以尝试找一些带有某些参数的特殊的URL,如?ID=10
其 次,在URL参数或表单中加入某些特殊的SQL语句或SQL片断,如在登录页面的URL中输入 /INDEX.ASP?USERNAME=HI‘ OR 1=1--
注1:根据实际情况,SQL注入请求可以使用以下语句:
‘ or 1=1- -
" or 1=1- -
or 1=1- -
‘ or ‘a‘=‘a
" or "a"="a
‘) or (‘a‘=‘a
注2:为什么是OR, 以及‘,――是特殊的字符呢?
例子:在登录时进行身份验证时,通常使用如下语句来进行验证:sql=select * from user where username=‘username‘ and pwd=‘password‘
如 输入?username=admin‘ or 1=‘1&pwd=11,SQL语句会变成以下:sql=select * from user where username=‘admin‘ or 1=‘1‘ and password=‘11‘
‘ 与admin前面的‘组成了一个查询条件,即username=‘admin‘,接下来的语句将按下一个查询条件来执行.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-67715-8.html
水
去年猪肉19一公斤
居然在非正规渠道买产品