Web应用体系结构
HTML 动态页面,需要脚本语言/交互能力控件
浏览器 IE浏览器为核心,解释脚本语言,播放flash
Web开发技术
微软 IIS/ASP/ASP.NET/ISAPI/COM/…
Apache Apache/PHP/CGI/Perl/Python/…
Web面临威胁:数据容易被嗅探传输:机密窃听,中间人攻击;web服务器被渗透;
服务器:
(操作)系统:存在高危漏洞,远程渗透
Web服务器:渗透攻击
web应用程序:代码注入攻击/XSS攻击等(有没有对参数测试)(默认用系统管理员权限登入后台数据)(通用模板可能有缺省用户)
数据:敏感信息泄露/内容篡改/不良信息内容
Web应用攻击步骤:
Web应用信息搜集(操作系统类型扫描)(web服务器){之前讲过}
攻击Web服务器软件
攻击Web应用程序
攻击Web数据内容 {最有价值}
本地攻击
应用程序的探测和漏洞发现
手工审查web应用程序结构与源代码
【考试】一小段源代码,XSS/CSXF脚本跨站/SQL注入
关心内容
提高能力:NotPron解密游戏:
http://deathball.net/notpron/levelone.htm
共132关
《白帽子谈web安全》
Googlebotbot
Google search engine
Google Hacking
开源数据库GHDB Project
《google hacking…》
GHDB有不同的查询语句就可以查询到不同的漏洞
SiteDigger免费软件,可以下载到虚拟机里
WEB应用程序
浏览器插件
免费工具集
渗透测试【Linux中的靶机做实验】
2017top10
1注入攻击injection
2不安全的身份认证和会话管理
3 XSS跨站脚本
…
8 CSRF跨站点请求伪造
【考题】《白帽子讲web安全》3,4,7章
代码注入攻击:
Web应用程序的输入验证不完善漏洞(缓冲区溢出:shellcode作为输入参数)
敏感信息泄露、权限提升、对系统未授权访问(绕过用户权限)
SQL注入:读取,修改与操纵数据库
原理:动态页面
动态内容是实时生成的,黑客构造恶意查询内容
查询所有数据WHERE(job_id=1)OR 1 =1
浏览器job=1 ‘or’1’=’1
漏洞机制
1用户输入过滤:转义字符
2
1关闭服务器中属性“显示友好http错误信息”
试探业务逻辑层
a)用户名/口令huangrong’or ‘1’=’1
绕过用户口令正常逻辑
b)口令
huangrong’;DROP TABLE accounts;SELECT *FROMadmin WHERE ‘t’=’t
删除用户名表,(if lucky)删除管理员权限表
C)a_variable:=”1;DROPTABLE accounts”
删掉一张表
【考试】给你一段代码,构造输入,涉及输入汉字,汉字双字节/转义字符表示
判断网页是否存在SQL注入点
手工审查(高手):
1构造SQL查询语句,观测返回结果(find页面源代码)
(盲注)http://XXX.XXX.XXX/abc.asp?p=XX
当输入参数XX为整型时,abc.asp中SQL语句原型:
select*from[表名]where[字段]=XX
执行结果:abc.asp显示页面异常
整数、字符串
判断数据库类型
A) PHP:MySQL
ASP:MS SQL Serber/ACCESS
B)利用系统变量(百度)找某个数据库有其他没有,从返回错误信心中判断
C)试着读取系统表,不同系统表不同
【常见注入语句,考试参考】
利用自动化SQL注入攻击工具:
Pangolin穿山甲软件
阿D注入工具
跨站点请求伪造CSRF
原理:攻击者利用受信任站点
E.g. bob发送电子邮件
攻击者:截获合法用户发送的URL发现没有对用户身份进行验证
Send_email.htm发送特定的邮件(垃圾邮件,钓鱼网站)
(低版本)浏览器标签问题
任何设置为src属性的URI会被加载,攻击者利用代码创建页面,
当用户访问这个页面,请求被发送到send_email.htm
扩展:
用户访问银行,用cookie认证身份,建立合法连接,同时开起另外包含脚本(提取cookie里的信息,并取出,构造向某个账号发起转账的动态页面)的非法页面,如果浏览器安全级别不够高,脚本被解释执行,用户在不知情下,攻击者完成转账。
原因:受信任站点验证的是web浏览器而不是用户
解决方法:每次请求都重新认证用户身份(对于商业网站,麻烦但必须)
【以下不做要求】
同源策略:保证私密性,不能防止跨站请求伪造
跨域策略:设置受信任站点,允许接收不同域(不可设为Accept all)
GET:只允许检索,不允许修改浏览器值
POST:包含伪随机值
客户端安装插件
跨站脚本攻击(XSS:Cross-SiteScripting)
原理:攻击者构造具有吸引力的页面或者标题,其中包含恶意代码,从而危害访问者
XSS:守株待兔,等待访问该站点的用户
恶意脚本方法:
1)JavaScript中的document.cookie
2)网页挂马
类型:
1) 持久性XSS:存储型(守株待兔),社交网络发帖
2) 非持久性XSS:仿射型(社会工程学),发送钓鱼连接,恶意脚本驱动用户向攻击者发送信息(如登陆令牌等)
原因:没有检查输入
攻击实例:看课件