学习笔记——web安全深度剖析
一 基础
1、http请求流程:
请求、响应报文格式;
8种请求方式,get(长度有限制)、head(用于测试资源是否存在,服务器不返回消息主体)、post(传输大量数据)、put(给服务器上传资源)、delete(删除服务器上的资源)、trace(回显服务器收到的请求)、connect(切换到隧道的代理)、options(获取服务器允许该uri拥有的功能);
http状态码;
请求头:range(可以请求实体的一部分内容,多线程下载用这个请求头)、x-forward-for(代表请求端IP)、accept(指定客户端接收的信息类型)、accept-charset(指定客户端接收的字符集);
响应头:set-cookie(向客户端设置cookie)、last-modified(修改资源时间,方便条件get用?)、location(服务器让客户端去重定向)、refresh(服务器告诉浏览器去定时刷新);
实体头:请求和响应信息都可以传送一个实体头,content-type(向接收方指示实体的介质类型,附application/xml与text/xml区别)、content-encoding(指示实体正文的编码格式)、content-length(实体长度)
截取请求:burp suite proxy(工具箱)、fiddler(记录所有浏览器和服务器的通信,http和https,允许设置断点,修改数据)、winsock expert(监视和修改网络发送和接收数据)
2、信息探测
Google hack :site指定域名、intext、intitle、info、inurl、filetype(搜索指定文件类型)
Nmap:扫描计算机开放端口。
3、漏洞扫描
burp suite、awvs、appscan。
二 原理
4、sql注入
分为字符型、数字型。注入工具有sqlmap、pangolin、havij。防止手段:特殊字符转义、预编译(绑定变量,比如mybatis的$,#,即使是含有敏感字符的string,dbms也会将其当作一个字段的属性值处理,而不是作为一个sql指令)、框架、存储过程。
sql注入检测以工具为主,手工为辅,开发团队有自己的安全规范,不用每个开发者都了解。
SqlMap自动SQL注入和数据库接管工具。
5、上传漏洞
跟web容器有关,原因是目录过滤不严,攻击者可能建立畸形目录;文件未重命名,攻击者可能利用web容器解析漏洞。解决方法是对路径进行验证、对文件进行随机重命名。
6、xss跨站脚本漏洞
比如在留言板留个代码,别人访问到这个留言就会被攻击。xss跨站漏洞最终形成的原因是对输入与输出没有严格过滤,在页面执行js等客户端脚本,这就意味着只要将敏感字符过滤,即可修补xss跨站漏洞。
7、命令执行漏洞
指攻击者可以随意执行系统命令。比如命令连接执行。总之,有输入的地方就可能存在漏洞。
8、文件包含漏洞:主要包含在php web应用中,是指重复使用的函数单独写到一个文件中,以后可以直接调用,这种调用文件的过程叫做包含,程序员常将被包含的文件设置为变量,用来进行动态调用。这个漏洞属于语言设计弊端。造成包含漏洞的根本原因是:被包含的页面可以被攻击者所控制。
9、其他漏洞
csrf:在会话还没有过时的时候,攻击者通过冒充被害者的身份进行非法操作。
逻辑错误漏洞:比如越权,通过改连接参数,改了别的用户的数据。
代码注入:后台提交的代码,当作执行代码去运行,比如博文的写的代码。
url跳转:在网站留言个重定向的js代码,然后发个链接,让被害者去点,看着是个正规网站网址,点进去,出发之前留的js,就跳到了骗子的网站,注意地址栏会变。
webserver远程部署:比如weblogic的地址,默认的账号密码,都要改,防止被人登陆到后台。
三 实战与综合
暴力破解:用验证码;
旁注攻击:小网站的服务器上可能也部署着其他网站,通过攻击其他网站,然后进入目标网站的代码文件。防范方法就是严格配置服务器权限。
提权:
溢出提权:在linux或windows系统直接执行溢出程序。
第三方组件提权,利用第三方软件的漏洞,进入服务器,执行代码。
管理服务器,要经常改密码,经常杀毒。
arp欺骗:arp是地址解析,将ip转为mac地址,完成网络地址到物理地址的映射。攻击者可以伪装arp应答,冒充真正通信的主机。常见的arp工具:cain,ettercap,netfuke。防御方法是:对每台主机和mac地址进行静态绑定;安装arp防火墙,金山的,360的。
社会工程学:就是直接骗人。
学习笔记——web安全深度剖析相关推荐
- python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目
文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...
- Kali Linux学习笔记—Web渗透(1)
Kali Linux学习笔记-WEB渗透 侦察 Httrack 扫描 Nikto vega skipfish w3af Arachni OWASP_ZAP 必须掌握 Burpsuite 必须掌握 实验 ...
- 学习笔记——web网页庐山旅游网
学习笔记--web网页庐山旅游网 这学期学习了web技术,简单学习了H5+CSS+JS的知识. 这是一个简单的前端,采用html.一共五个页面. 首页index.html <!DOCTYPE h ...
- 一箭双雕 刷完阿里P8架构师spring学习笔记+源码剖析,涨薪8K
关于Spring的叙述: 我之前死磕spring的时候,刷各种资料看的我是一头雾水的,后面从阿里的P8架构师那里拿到这两份资料,从源码到案例详细的讲述了spring的各个细节,是我学Spring的启蒙 ...
- 《攻防世界》学习笔记——web篇
<攻防世界>学习笔记--web篇 01 Robots协议 02 BACKUP 03 Cookie 04 disabled_button(chrome游览器F12指南) 05 弱口令 06 ...
- JavaScript超全学习笔记+Web经典案例,赶快收藏
青春啊,永远是美好的,可是真正的青春,只属于这些永远力争上游的人,永远忘我劳动的人,永远谦虚的人! 最近收到不少的优秀学生投稿,他们有投稿手写笔记.有手写博客.也还有视频.小编也从中挑出几篇较为优秀的 ...
- 学习笔记-Web Generic
Web Generic 免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关. 大纲 文件包含 日志中毒攻击 文件解析 IIS Nginx Ap ...
- web安全深度剖析知识点总结
2.nmap的各种script方法:https://nmap.org/book/nse.html 3.下载DirBuster https://www.owasp.org/index.php/Categ ...
- 学习笔记---Web服务、Remoting、WCF (上) --- Web服务
自从程序设计诞生起, 如何最大限度的重用代码, 减小编码的重复劳动就是程序员永恒不变的课题. 我们从学习面向对象开始, 先后引入了很多种共享代码的手段, 随着学习的不断深入就越发觉得程序设计的发展过程 ...
最新文章
- 研究一下,如何实现一个文件系统
- mysql库存先进先出_sql 先进先出 库存
- 【LeetCode每周算法】零钱兑换
- 关于Android Fragment基础点(转)
- 内部服务器如何提供访问服务
- 基于Python+tkinter+pygame的音乐播放器完整源码
- WebLogic 12c 中压缩传输的配置
- Vue和React组件之间的传值方式
- 跳蚤 BZOJ 4310
- 公安部4号令中关于电子邮服务器
- Mysql——应用学习之旅
- Java内存解析 程序的执行过程
- 中文版Photoshop.CS6完全自学教程 李金明.全彩版.pdf
- JPG、PNG和GIF图片的基本原理及优化方法
- Linux安装ParaView
- 小爱同学脱离局域网远程控制开关?
- 冲刺大厂每日算法面试题,动态规划21天——第十四天
- [置顶] Android九环刀之RatingBar之评委请亮分
- 基于python高仿探迹源码
- 中国防静电塑料卷轴市场深度研究分析报告
热门文章
- Java 面向对象(基础) 知识点总结I
- 关于富士通 T5220服务器故障处理
- 电子书下载(强烈推荐):《大道至简——软件工程实践者的思想》
- linux中利用脚本编写数组,Linux基础之bash脚本进阶篇-数组(示例代码)
- transactionscope 中的异步 处理 异常_PLC编程中的异常处理
- nexus 4 android 5.0,Nexus 4可以升级Android 5.1了!
- php dll是下32还是64位,windows下关于boost 64位和32位库的编译详细介绍
- mongodb java 地理位置_MongoDB的地理位置索引
- Python+OpenCV:Hough直线检测(Hough Line Transform)
- SQL Server 2014 新建数据库