1.漏洞
通用型:第三方软件、应用、系统对应的漏洞,每个使用这个软件或者应用系统的用户都存在这个漏洞,发现一个 漏洞可以封杀n多个网站
事件型:非通用型漏洞,主要指互联网上一个应用的具体漏洞,如具体到某个站点
2.同源
协议 主机 端口都相同
3.提交方式method
两种方法
Get :url中直接显示,可直接看到
Post :表单方式提交,嵌套在页面内,起到保密作用
4.windows系统日志中
4624 登陆成功
4625 审核失败
5.Linux日志
最后一次登录的日志
┌──(root���kali)-[/var/log]
└─# lastlog
查看用户登录的权限
┌──(root���kali)-[/var/log]
└─# cat /etc/passwd
查看日志
┌──(root���kali)-[/var/log]]()
└─# cd /var/log
┌──(root���kali)-[/var/log]
└─# ls -al
wtmp显示为登陆成功的日志(last -f查看)
btmp显示为未成功登录的网站
6.查看外部连接
┌──(root���kali)-[/var/log]
└─# netstat -anlp | grep 8080
┌──(root���kali)-[/var/log]
└─# netstat -anlp | grep 80
7.端口
http ——80
https——443
ssh——22
POP3——110
smtp——25
ftp——20 21
dhcp——67 68
dns——53
windows远程桌面——3389
mysql——3306
sqlserver——1433
oracle——1521
8.html基础
<!DOCTYPE html> <!--声明-->
<html lang="en"> <!--语言-->
<head>
<meta charset="UTF-8"> <!--编码格式-->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <!--响应式标签-->
<link rel="stylesheet" href="style.css"> <!--可链接CSS样式表-->
<title>Document</title> <!--标题-->
</head>
<body>
<p>welcome</p> <!--标签--><!--块级元素-->
<div>
<p>
hello world
</p>
</div><!--嵌套标签--><!--块级元素-->
<span>pppp</span><span>pppp</span> <!--行级元素-->
<img src="" width="" alt="" one rror=""> <!--插入图片:路径(相对/绝对),宽度,图片未加载显示的提示信息,当src找不到时运行onerror-->
<noscript>浏览器不支持JS</noscript> <!--浏览器不支持脚本时,所要显示的内容-->
</body>
<style>
body{background-color: black;}
</style> <!--内联样式-->
<script>
window.location.href="https://www.baidu.com" <!--location属性有页面跳转功能-->
</script>
</html>
9.url
https://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#anchor
协议 主机host 端口 路径 查询参数(一定要加? 两个参数&连接)
(默认,可不写)
urlcode编码
-
空格:%20
-
!
:%21 -
#
:%23 -
$
:%24 -
%:%25
-
&
:%26 -
'
:%27 -
(
:%28 -
)
:%29 -
*
:%2A -
+
:%2B -
,
:%2C -
/
:%2F -
:
:%3A -
;
:%3B -
=
:%3D -
?
:%3F -
@
:%40 -
[
:%5B -
]
:%5Dxss中小技巧:
?xss=1%20οnerrοr=location="javascript:alert%25%281%25%29(location可代表跳转页面)
?xss=1 οnerrοr=location="javascript:alert%281%29 (html页面摆脱()的限制)
?xss=1 οnerrοr=location="javascript:alert(1) (浏览器页面摆脱()的限制,实现弹窗机制)
10.utf-8编码规则
可变长的unicode编码
只有两条:
1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。
2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n=1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。
下表总结了编码规则,字母x表示可用编码的位。
Unicode符号范围 | UTF-8编码方式 (十六进制) | (二进制) ----------------------+--------------------------------------------- 0000 0000-0000 007F (0-127)| 0xxxxxxx 0000 0080-0000 07FF (128-2047)| 110xxxxx 10xxxxxx 0000 0800-0000 FFFF(2047-65535) | 1110xxxx 10xxxxxx 10xxxxxx 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
跟据上表,解读 UTF-8 编码非常简单。如果一个字节的第一位是0
,则这个字节单独就是一个字符;如果第一位是1
,则连续有多少个1
,就表示当前字符占用多少个字节。
例如:汉字中ascii码为20013
在 0000 0800-0000 FFFF 三字节范围内,编码规范1110xxxx 10xxxxxx 10xxxxxx
20013的二进制 0b100111000101101,0b为二进制符号
从后往前补: 1110 0100(剩100,补为0100) 10111000(补后7-12位) 10101101(补后六位)
转为十六进制:e4b8ad
11.link
noreferrer
:告诉浏览器打开链接时,不要将当前网址作为 HTTP 头信息的Referer
字段发送出去,这样可以隐藏点击的来源。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<a href="https://www.baidu.com">百度百科</a> <!--a链接功能-->
<img src=""> <!--a标签内部是一个图像,点击图片自动进行跳转-->
<a href="http://www.cacxxy.com/index.jsp" title="延安大学西安创新学院">延创</a> <!--鼠标悬浮在延创字样时出现title提示信息-->
<a href="http://www.cacxxy.com/index.jsp" target="_self">延创</a> <!--当前窗口打开-->
<a href="http://www.cacxxy.com/index.jsp" target="_blank">延创</a> <!--新窗口打开-->
<a href="javascript:alert(1)">延创</a> <!--a标签触发弹窗-->
</body>
<script>alert(1)</script> <!--xss测试的基础三个弹窗事件-->
<script>prompt(1)</script>
<script>confirm(1)</script>
</html>
12.标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div></div> <!--块级元素标签-->
<p></p> <!--块级元素标签-->
<span></span> <!--行级元素标签-->
<br> <!--换行标签,单独使用 不闭合-->
<hr> <!--水平线-->
<pre></pre> <!--块级元素,保留原来的格式-->
<strong></strong> <b></b> <!--加粗-->
<em></em> <i></i> <!--斜体-->
<u></u> <!--下划线-->
<s></s> <!--删除线-->
<code>alert(1)</code> <!--网页出现alert(1)-->
<mark></mark> <!--黄色高亮显示-->
<footer></footer> <!--可显示网页底部关键字,版权信息-->
<nav> <!--导航信息-->
<ol> <!--有序列表ol 无序列表ul-->
<li><a href="item-a">商品 A</a></li>
<li><a href="item-b">商品 B</a></li>
<li>商品 C</li>
</ol>
</nav>
<h1>一级标题</h1> <!--标题大小-->
</body>
</html>
13.form
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<form action="https://example.com/api" method="post"> <!--后端接收(提交)的地址 传递参数的方法:post,get-->
<label for="POST-name">用户名:</label>
<input id="POST-name" type="text" name="user" placeholder="请输入提示信息" maxlength="8"> <!--name:提交的form表单名称 maxlength:限制长度-->
<input type="submit" value="提交">
<input type="hidden" name="hash" value="1111>" <!--csrf-->
<input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" required> <!--输入电话号码的格式-->
<small>Format: 123-456-7890</small>
</form>
</html>
14.iframe
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<iframe src="https://www.baidu.com" <!--在当前网页嵌入此网页-->
width="100%" height="500" frameborder="0" <!--宽度 高度 是否绘制边框-->
allowfullscreen sandbox> <!--allowfullscreen允许嵌入的网页全屏显示 sandbox设置嵌入网页的权限-->
<p><a href="https://www.baidu.com">点击打开嵌入页面</a></p>
</iframe> <!--iframe标签生成一个指定区域,在该区域嵌入其他网页-->
<iframe src="https://www.example.com" sandbox> <!--src:嵌入网页的url地址-->
</iframe>
<iframe src="https://example.com" loading="lazy"></iframe> <!--loading属性触发网页的懒加载 三个值:auto lazy eager-->
</body>
</html>
loading
属性可以触发<iframe>
网页的懒加载。该属性可以取以下三个值。
-
auto:浏览器的默认行为
-
lazy:懒加载,鼠标滚动进入页面时开始加载图片等信息
-
eager:立即开始加载资源,无论在页面上的位置如何
当的宽度和高度为小于等于4像素
样式设为display none或者visibility hidden时
使用定位坐标为负x或负y,将iframe置在屏幕外
chrome浏览器会认为是隐藏的,loading属性无效,将会立即开始加载
Web访问流程
-
浏览器----本地页面的代码
-
http----截取数据、观察数据、修改数据、绕过页面代码判断
-
Web容器(IIS apache Nginx)解析数据–解析文件、数据问题
-
Web语言(php js python .net )执行代码
-
数据库