T3SEC —–第三讲:web应用安全
OWASP--Open Web Application Security Project 组织.开源. ---会员 发送邮件到member@owasp.org.cn即可参加.
ISC---CISSP
OWASP Top10(10大应用安全风险)
1.注入
2.失效的身份认证和会话管理
3.XSS -跨站脚本攻击
4.不安全的对象直接引用
5.CSRF --跨站请求伪造
6.安全的错误配置
7.限制URL访问失败
8.未验证的重定向转发
9.应用已知的漏洞组件
10.敏感信息泄露
一.SQL注入漏洞
1.原理:
2.流程:
- 注入点探测
- 自动探测-WEB漏扫工具 , AWVS APPSCAN OPENVAS nessus OWASP ZAP .Burpsuite
- 手动探测--手工构造payload
- 信息获取
- 环境信息:数据库类型,数据库版本,操作系统类型版本,用户信息
- 数据库信息:库民,表名,字段名,数据值---(后台管理员账户密码)
- 获取权限
- 获取操作系统权限,通过执行shell,上传大马或者小马
3.探测方法
- sqlmap工具
- 五种注入类型
- 盲注
- 联合注入
- 二次注入
- 堆叠
- xxx
- 手工
- 整型
- $="select * from users where name=$name and pass = $pass";
- $="select * from users where name= or 1=1 # and pass = $pass";= select *fro users;
- 字符型
- $="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 '%' or 1=1 and '%'='%' order by password ;
sqlmap需要python环境
sql常用用法
sqlmap - u url地址/参数=值 --dbs 爆库爆表
sqlmap - u url地址/参数=值 --os -shell 获取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\XXXXX"
4.建议下载安全狗,设置绕过练习
tamper脚本 --python基础编程,协议分析,数据库语法及编程,SQL注入漏洞原理
二.XSS-跨站脚本(铁三赛中不会体现)
三.上传漏洞(必考)
上传绕过:
1.客户端:js检查
2.服务器端:
- 检查后缀:
- 黑名单:可解析的后缀 .php .xxx 上传伪静态文件.htacsses 点绕过 空格绕过;::$DATA绕过
- 白名单:%00 截断 ,0x00 截断,MIME绕过
- 检查内容:文件头,图片getimagesize(),二次渲染
- 代码逻辑:条件竞争
upload-labs 靶场环境部署,联系上传
四.CSRF (应该不考)
五.SSRF服务器端请求伪造
由攻击者构造的请求,由服务器发起请求的安全漏洞
一般目标:外网无法访问的服务器.
六.暴力破解漏洞
账户密码,静态验证码 ---暴力破解
建议:
- 先准备一套字典
Hydra-九头蛇(ftp,ssh,relent,mysql等)
Burpsuite 测试器4种:
七.命令执行漏洞
程序调用系统函数,php,哪些函数会调用系统:
1.远程命令执行漏洞
eval()
assert()
preg_repalce()
2.本地命令执行漏洞
system()
shell_exec:
exec:
等
八.包含漏洞
使用文件包含漏洞,在包含文件时服务器未对用户设置的值进行检查
include()
include_once()
require_once()
require()
九.XXE漏洞
读取任意文件,执行系统指令,,,,,,
十.反序列化漏洞
先了解php反序列化是啥