0%

概念

Extensilble Markup Language 可扩展编辑语言
可扩展:标签都是自定义的
例如:<user><student>

功能

  • 存储数据
    • 1、配置文件
    • 2、网络中传输

XML与HTML区别

  • XML标签自定义的、Html标签是预定义的
  • XML是语法严格的、Html是松散的
  • XML是存储数据的、Html是展示数据的
阅读全文 »

上次我们学习了缓冲区溢出基础,这次我们来个更高级的,漏洞程序源码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void vulnerable_function() {
char buf[128];
read(STDIN_FILENO, buf, 256);
}

int main(int argc, char** argv) {
vulnerable_function();
write(STDOUT_FILENO, "Hello, World\n", 13);
}

编译方式:gcc -fno-stack-protector -o vuln vuln.c -g

开启ASLR地址随机化(系统默认是开启的)
sudo echo 2 > /proc/sys/kernel/randomize_va_space

阅读全文 »

什么是缓冲区溢出?

我们知道,缓冲区就是暂时放置数据的地方,也就是说缓冲区其实就是变量,在程序开发中为了增加用户体验,往往需要用户输入,而用户的输入是不可控的,如果我们在程序中设定的缓冲区大小为32字节,那么用户输入超过32字节会怎么样呢?这样就会引发一个缓冲区溢出。通过溢出缓冲区可以控制栈中的ebp、eip等,这样就可以让目标系统实现特定的功能,拿到shell。这就是缓冲区溢出。

阅读全文 »

基本概念

一个前端开发的框架

  • 框架:一个半成品软件,开发人员可以在框架的基础上,再进行开发,简化编码,试开发更加的简洁快速
  • 好处:
    • 定义了很多css样式和js插件,我们开发人员可以直接使用这些样式和插件,得到丰富的页面效果
    • 响应式布局:同一套页面可以兼容不同分辨率的设备
阅读全文 »

概念

某些组件被执行了某些操作后,出发某些代码的执行,例如onclick

  • 事件:某些操作,如:单机、双击、键盘按下了、鼠标移动了
  • 事件源:组件。如:按钮、文本输入框···
  • 监听器:代码(发生某些操作后执行的代码)
  • 注册监听:将事件、事件源、监听器结合在一起。当事件源上发生某个事件,则触发某个监听器代码
阅读全文 »

概念

Document Object Model 文档对象模型

将标记语言文档的各个组成部分,封装为对象。可以使用这些对象,对标记语言文档进行CRUD的动态操作

它允许程序和脚本动态地访问和更新文档内容 、结构和样式

阅读全文 »

概念

Browser Object Model 浏览器对象模型,它将浏览器各个组成部分封装成对象

组成

  • window:窗口对象
    • DOM对象(document)
  • Navigator:浏览器对象(不重要)
  • Screen:显示器屏幕对象(不重要)
  • History:历史记录对象
  • Location:地址栏对象
阅读全文 »