XSS漏洞基础
XSS漏洞基础概念
xss 跨站脚本攻击(Cross Site Scripting)
其实应该简称为css,但是这与层叠样式表的缩写重合了,因此改名xss。
攻击者会在web页面中的input表单、url、留言板等位置插入js代码,导致用户访问时触发,达到攻击目的。
原理服务器对用户提交的数据没做过滤,或者过滤不严,导致浏览器把用户的输入当成了js代码并直接返回给客户端执行。
分类
反射型(非持久)
存储型(持久)
DOM型(非持久)
反射型攻击流程:攻击者:发现存在反射型xss的url -> 构造xss代码 -> 进行编码、缩短(增加迷惑性) -> 发送给受害者受害者:收到链接并点开 -> xss代码执行
攻击对受害者而言是一次性的。
例:
php源代码: 发现未做过滤
1234567891011<?phpheader ("X-XSS-Protection: 0");// Is there any input?if( array_key_exists( "name", $_GET ) ...
http请求报文
http请求报文HTTP请求由四个部分组成
请求行
消息报头
空行
请求正文
请求行:Method request-URI HTTP-Version CRLF
method:表示请求方法
Request-URI:统一的资源标识符
HTTP-Version:表示请求的HTTP协议版本
CRLF:表示回车和换行
请求头部: 允许客户端传递关于自身的信息和希望的响应形式
空行:表示请求头结束,请求正文开始
请求正文(只有post请求时才会由请求正文)
get方法:提交数据时,参数会作为url的一部分发送给服务器
post方法:发送的数据在请求体中
http响应报文HTTP响应由四个部分组成
状态行
消息报头
空行
响应正文
状态行:
[HTTP-Version] [Status-Code(状态码)] [Reason-Phrase(原因)] [CRLF]
其中:
状态响应代码由3个数字组成。第一个数字定义了响应的类别:
如:
1xx:指示信息 表示请求已经接收,继续处理
2xx:成功 表示请求已经被成功接收
3xx:重定向 要完成请求必须进一步操作
4xx:客户端错误 ...
sqlmap和hydra常用命令
扫描与爆破Nmap重要常用命令参数
-sP ping扫描例:
nmap -sP 10.1.1.0/24 (最后的24是采用二进制表示的掩码的位数)
-p 指定端口范围例:
nmap -p 21,23 10.1.1.1(探测目标21,23端口情况)
-sV 服务版本探测例:
nmap -p 23,21 10.1.1.1 -sV
-O 启用操作系统探测(同时可以扫描开放的端口号以及对应的服务)例:
nmap -O 10.1.1.1
-A 全面扫描
-oN 保存txt(保存扫描报告)例:
nmap -O 10.1.1.1 -oN d:\baogao.txt(保存路径)
hydra 常用命令(转载自https://blog.csdn.net/weixin_63286108/article/details/124700517)
爆破FTP服务器登录密码(已知用户名)
1hydra -l admin -P /usr/passwd.txt ftp://192.168.31.134
爆破FTP服务器的用户名和密码(1)
1hyd ...
vim初学
vim的三个模式vim有三个模式
正常模式
编辑模式
命令行模式
刚打开文件处于正常模式
编辑模式按 esc 会退出到正常模式
要进行编辑需要进入编辑模式
按小写 i,此时下方会提示进入了INSERT模式
保存修改,或不做修改退出,或对文件进行搜索等 要进入命令行模式
正常模式直接输入 : 会进入命令行模式。同样,下方也会有提示“:”
退出(quit):输入 :q,回车。(如果对文件做出了修改,那么会出现警示
不保存退出: 输入 :q! 表示无论如何都要退出
保存退出(write quit): 输入 :wq(先保存,再退出,不能写为 :qw
vim的光标移动在正常模式下 h j k l 四个键可以进行光标的移动
k:向上
j:向下
h:向左
l:向右
正常模式下,将光标移动到字符后
按 i :insert 在字符前面插入字符
按 a:append 在字符后面追加字符
大写i:shift+i 插到最前面
大写a: shift+a 在最后面追加
o:(open a new line )在本行的下面新建一行
大写o: 在本行的上面新建一行
g:在最后一行下面新建 ...
各层常用协议
各层常用协议应用层协议
http https SSH DNS Telnet FTP DHCP SMTP POP3 RDP SMB MySql80 443 22 53 23 20/21 67/68 25 110 3389 445 3306
传输层协议
TCP UDP
传输控制协议 用户数据报协议
网络层协议
ICMPInternet Control Message Protocolinternet控制报文协议 用于在ip主机、路由器之间传递控制消息(网络是否通,主机是否可达)。
IPInternet Protocol网际互连协议:实现大规模、异构网络的互联互通。
ARPAddress Resolution Protocol地址解析协议:根据IP地址获取物理地址的协议
数据链路层协议
PPPPoint-to-Point P ...
Linux多进程编程
Linux多进程编程
一、 并发概念并发:
指多个活动在同一时间段内同时进行
二、 逻辑控制流逻辑流:
在多进程运行环境下,一个程序(或进程)按程序员意图,从main函数开始,一个一个语句,一条一条指令执行,执行轨迹为一系列程序计数器(PC)的值,给人一种每个程序都独占处理器的假象,而一般整个系统可能仅有一个CPU,各进程轮流执行,我们称进程为一个逻辑流
实际上,每个进程的执行过程是不连续的,它们交替使用处理器
并发流:
只要某种可能的执行模式在时间上存在重叠,它们就是并发流。
并行流:
如果两个流在有部分操作(或代码)同一时刻地运行在不同的处理器核或者计算机上,那么我们称它们为并行流(parallel flow)
多任务:
一个进程和其他进程轮流运行的概念
时间片:
每次分配给一个进程的执行时间称之为时间片(time slice),进程也因此划分为多个做时间分片(time slicing)
进程的基本概念初识进程一、 什么是进程
进程是正在执行中的程序
二、 进程结构进程至少包含三项内容:
程序代码
数据集
进程控制块
程序代码:一般是一个包括main ...
c语言常遇到的错误集
当遇到数组越界类的错误时,很有可能是宏定义的maxsize出了问题1#define maxsize 10
宏定义的maxsize过小
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment