OWASP TOP10

  1. sql注入
  2. 失效的身份认证和会话管理
  3. XSS
  4. 不安全的对象直接引用
  5. CSRF
  6. 安全的错误配置
  7. 限制URL访问失败
  8. 未验证的重定向转发
  9. 应用已知的漏洞组件
  10. 敏感信息泄漏

1.sql注入漏洞

1.原理
2.流程

注入点探测

自动检测:web漏扫工具,AWVS、APPSCAN、openVAS、nessus、OWASP ZAP、Burpsuite

手工方式:手工构造payload

信息获取

环境信息:数据库的类型、版本,操作系统的类型版本,用户信息

数据库的信息:库名、表明、字段名、数据值(管理员账户密码)

获取权限:获取操作系统权限,通过执行shell,上传大马或者小马

3.sqlmap工具

5种注入类型:盲注、联合注入、二次注入、堆叠注入、xxx

整型:

$=”select * from users where name=$name and pass=$pass”;

$=”select * from users where name= or 1=1# and pass=$pass”;

字符型:

$=”select * from users where name=’$name’ and pass=’$pass’”;

$=”select * from users where name=’’ or ‘1’=’1’# and pass=’$pass’”;

搜索型:

$=”select * from users where password like ‘%$pwd%’ order by password”;

$=”select * from users where password like ‘%’ or 1=1 and ‘%’=%’ order by password”;

sqlmap工具

sqlmap python2.x环境

SQLmap -u url地址/参数=值 –dbs

SQLmap -u url地址/参数=值 –os-shell

SQLmap -u url地址/参数=值 –level 5 –risk=4

SQLmap -u url地址/参数=值 –file-read “c:\1.sh”

SQLmap -u url地址/参数=值 –file-write shell.php –file-dest “c:\WWW\xxxx”

SQLmap -u url地址/参数=值 –data=name&pass&submit

4.建议下载安全狗,绕过练习,sqli-labs靶场环境部署

tamper脚本=python基础编程、协议分析、数据库语法及编程、sql注入漏洞原理

2.XSS(铁三赛不体现)

3.上传漏洞

上传绕过:

1.客户端:js检查

2.服务器端:

​ 检查后缀:

​ 黑名单:可解析的后缀 .php .xxx 上传伪静态文件 .htaccess 点绕过 空格绕过 ‘;;$DATA绕过

​ 白名单:%00截断、0x00截断、MIME绕过

​ 检查内容:文件头、突破getimagesize()、二次渲染

​ 代码逻辑:条件竞争

建议:upload-labs靶场环境部署

4.CSRF-跨站请求伪造

5.SSRF

服务器端请求伪造

6.暴力破解漏洞

账户密码 静态验证码 —-建议:先准备一套字典

HYdra-九头蛇(ftp,ssh,telnet,mysql等)

Burpsuite:测试器

7.命令执行漏洞

程序调用系统的函数,php,哪些函数会调用:

system()

exec;

shell_exec;

1.远程命令执行漏洞

eval()

assert()

preg_replace()

2.本地命令执行漏洞

system()

shell_exec()

exec()

8.包含漏洞

include() 警告

include_once()

require() 函数执行错误会报错并终止脚本运行

require_once()

9.XXE漏洞

10.反序列化漏洞

​ php序列化和反序列化