测试流程:
1.先用wvs扫
2.暴力破解
3.稍微看下请求包有什么不妥的地方没有,比如明文传输,cookie放太多个人信息,等等
4.一边看wvs结果可以一边找sql注入点,比如查询的地方
5.一边看wvs一边看xss的注入点,比如存储数据的地方
6.找文件上传的地方,尝试绕过,传马
7.有短信/邮箱服务的试一下炸弹
8.扫一下开启的端口,看看有没有开启不安全的服务等等
。。。差不多这样吧 都是边做边学
sqlmap扫注入就找查询的地方 把请求贴成文本 然后用sqlmap命令扫就行了
漏洞类型 |
漏洞数量 |
危害等级 |
漏洞描述 |
存储型XSS跨站脚本攻击 |
18+ |
高 |
恶意代码储存到服务器中,用户访问该页面的时候触发js代码执行,容易造成蠕虫,盗窃cookie等 |
反射型XSS跨站脚本攻击 |
1 |
高 |
可窃取或操纵客户会话和 Cookie,可用于模仿合法用户,使黑客能够以该用户身份查看或变更用户记录以及执行事务 |
Sql注入 |
21+ |
高 |
攻击者可通过SQL注入漏洞执行SQL语句,窃取数据库资源。 |
验证码前端校验 |
1 |
高 |
攻击者发送验证码后无需在设备上查看验证码即可使用验证码,可越权修改其他账户密码 |
越权遍历系统账户 |
1 |
高 |
攻击者通过重放请求遍历系统中全部账户,可结合其他漏洞进行进一步攻击 |
越权重置任意账户密码 |
1 |
高 |
无需短信验证码,可通过重放修改密码请求越权修改其他账户密码 |
短信炸弹 |
1 |
高 |
攻击者可利用重放请求,不断往同一手机号码发重复短信,以达到恶意骚扰的效果 |
邮件炸弹 |
1 |
高 |
攻击者可利用重放请求,不断往同一邮箱发重复邮件,直到超出邮箱规定空间,使目标邮箱无法再处理信件,导致邮箱报废的一种破坏性攻击 |
弱口令 |
1 |
高 |
后台存在弱口令并缺乏验证机制 |
暴力破解 |
1 |
高 |
攻击者可通过枚举的方法得到正确的用户名及密码。 |
不安全的失败提示 |
1 |
中 |
攻击者可根据登录的提示信息判断该用户名是否存在,通过用户名枚举来取得有效的用户名列表。 |
启用不安全的HTTP方法 |
- |
中 |
攻击者可通过使用非安全的http方法修改web服务器上的文件,删除服务器上的页面,上传web shell以取得服务器权限等。 |
1 存储型XSS跨站脚本攻击
<img src=1οnerrοr=alert(1) />
挨个输入框试下(可以输入文本+可以读取刚输入的文本)
【危害】
没有过滤或过滤不严,这些恶意代码将储存到服务器中,攻击者能在受害者的浏览器中执行js脚本以劫持用户会话、破坏网站、插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器。这种XSS比较危险,容易造成蠕虫,盗窃cookie等等。
【修复建议】
1、检测并过滤输入的特殊字符,如: <>(尖括号)、"(引号)、'(单引号)、%(百分比符号)、;(分号)、 ()(括号)、&(& 符号)、+(加号)
(注意在过滤某些特殊字符时判断是否对业务有影响)
2、针对输出数据具体的上下文语境进行针对性的编码
3、为cookie设置Httponly属性
2 反射型XSS跨站脚本攻击
login_name=admin<script>alert("1")</script>&pwd=E10ADC3949BA59ABBE56E057F20F883E
或在登录页面输入用户名:admin<script>alert("1")</script>,点击登录,js脚本被执行
提交表单 post get &
【危害】
用户点击链接时触发代码执行,可能会窃取或操纵客户会话和 Cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。
【修复建议】
1、检测并过滤输入的特殊字符,如: <>(尖括号)、"(引号)、'(单引号)、%(百分比符号)、;(分号)、 ()(括号)、&(& 符号)、+(加号)
(注意在过滤某些特殊字符时判断是否对业务有影响)
2、针对输出数据具体的上下文语境进行针对性的编码
3、为cookie设置Httponly属性
3 SQL注入
怎么找到的SQL注入点?(这里只举一个例子,其它类似)
1.找到可以提交数据(特别是可以查询数据)的地方,尝试输入数据,开启代理,burp suite ,拦截该请求。
2.拦截到该请求后复制该信息到1.txt文件,为了好找,放在sqlmap根目录下。
在cmd输入:
python c:\sqlmap\sqlmap.py -r c:\sqlmap\get.txt --threads=10 --tamper=space2comment --current-db -v 3
【危害】
攻击者可通过SQL注入漏洞窃取数据库资源。
【修复建议】
1、最佳的解决方式是使用参数化查询;
2、检测并过滤用户输入的特殊字符,如:'|(|)|,|-|and|like|select|from|regexp|or 等。
(注意在过滤某些特殊字符时判断是否对业务有影响)
4 验证码前端校验