这里只记载核心的要点,基础不做普及.
参考书籍: 白帽子讲Web安全
首先看图
web安全的问题种类非常繁多,针对性越来越强. 以下就是常见的手段
A.HTTP基础
1.URL是什么
在现实生活中的对比是这样.实际计算机中也是类似的标准
schema : // host:port/path/.../[?query]{ # anchor}e.g. : https://jin.com/test/index.php?name=imba&status=admin#stuff
URL中最常见的http
Q: 想想为什么头部跟数据体直接有一个空行?
HTTP请求头—-Referer
- 比如从 google 打开 apple.com这个站点,它的http请求头中会多附带一个Refer,表明网站从google跳转而来
- 再比如经常看到什么图片挂了,提示来自QQ-Zone,来自Wechat之类的(防止盗链.防止CSRF)
- 安全上User-Agent 信息很重要,可以混淆伪造,以免暴露太多个人信息
B.html/css+JS
iframe标签
iframe标签在web安全中有很一定的地位.包括DNS劫持插入的运营商广告,大部分都是通过iframe插入到网页中的.
为什么要将html转成DOM(文档对象)树
哪些地方可以运行js
js基本就是由ECMAScript+DOM+BOM组成
- html的
<script>标签内 - html标签的事件属性中,比如onfocus
- 浏览器的JS控制台中(Console)
- html的
BOM( 浏览器对象模型)
- 简单的调试跟信息展示,XSS的漏洞测试 –>alert,confirm,prompt几个函数
- 从浏览器获取User Cookie(web server发给用户的一小段文本信息,就等于用户凭证key) F12的Application中可以看到
- document.cookie
- (window.)navigator
C.Web 服务端
web服务端经历的变化 1.0–>2.0时代么?
- SQL相关
本身sql是一个ANSI标准的计算机语言,功能主要是操作/CURD database ,衍生的扩展有些许区别但是无关大碍
学习SQL是了解SQL注入漏洞的基础.需要熟悉.
mysql常见内置函数:(sql注入获得信息)
D.php
这里丢一个挺绿色小巧的一键PHP/JSP/ASP环境下载: phpstudy
然后基本的php+Apache+phpMyadmin(mysql)的环境就不多累赘了,关于这里后台的原理也不再提及.
php file如何变成html呢
php的基本语法:
- 作为开闭 $x = ‘string’; //define a symbol
- echo 跟 print是常用函数 一般用echo居多. 拼接多个属性用 ‘.’ 点连接符.这个要注意…比较奇怪
- 接受请求一般用 _POST[“”] 或者 _GET.当然 也可以用 _REQUEST (前面跟$.因为md语法冲突省了)
- php里面有很多常用的实例.比如 _FIlES 负责文件上传. _SERVER 可以获取服务器的相关信息
2.php操作数据库(常用)
有java EE基础的人能很快发现.其实这就是servlet/jsp原生通过插入java代码去跟html结合. 写的东西看起来会非常的杂糅…个人是很不喜欢这种写法的.当然好处显而易见,少了很多的分层. 操作非常的快速. 没有很多严格的检查. 修改代码直接刷新就能生效.很方便.
常见php三种 mysql 的库. (自行查询)
写一个CURD的论坛回复系统demo.作为PHP的练手 php的知识比较杂多,语法不太美观.所以这里不多说,后面专门补充一下
E.Hack Website
实际测试中,Intitle: hacked by的结果已经被很多内容干扰或者搜索引擎屏蔽了.可以多用用intext跟site
挂暗链就是指.把原本正常的网页植入一些博彩,垃圾页游网站. 用 intext: badwebsite .当然这需要通过攻击获得网站的控制权.
webshell–渗透之魂
建立web传送门,就像哆啦A梦的任意门.通过在网站上传&建立webshell,随时可通过webshell随时随地回到入侵的服务器.webshell分为大马跟小马(一句话木马),过程图如下:
webshell跟挂暗链实际都是通过利用漏洞或者web的权限问题,把后门藏入服务器.
- webshell是一种web后门环境
- webshell的功能强大.基本可以通过执行命令获取到任何的权限
- 存在的形式很多php/jsp/asp 通常以文件/web网页混合存在.通过浏览器后台地址访问它,他的流量混在一起走,难以发现










