前端基础【CSS】
前端基础【CSS】什么是CSS Cascading Style Sheet 层叠级联样式表 CSS:表现(美化网页) 功能:可以设置字体、颜色、边距、高度、宽度、背景图片、网页定位、网页浮动…… CSS 发展历史 CSS 1.0 CSS 2.0 DIV(块) + CSS, HMTL与CSS结构分离的思想,网页变得简单,SEO CSS 2.1 浮动,定位 CSS 3.0 圆角,阴影,动画等,浏览器的兼容性 CSS 优势 内容和表现分离 网页结构变现统一,可以实现复用 样式内容丰富 CSS 3种导入方式 行内样式 123456789101112<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>CSS导入方式</title></head><body> <!-- 行内样式 --> <h1...
MySQL数据库基础操作
MySQL数据库基础操作关于数据一、数据 1、数据(Date) 是用来描述事物的记录符号,是数据库中存储的基本对象,数据库的核心 2、数据的形式多种多样,包括:数字、字母、文字、图形、声音、动画等 二、信息 1、信息通常指被加工处理过的数据, 是行为、决策的基础 2、数据库软件不仅仅保存数据,而且具有加工数据产生信息的能力 信息 = 数据 + 处理 三、数据库 1、数据库(DataBase 简称DB),是长期储存在计算机内、有组织的、可共享的相关数据的集合 2、数据库不仅仅包括数据本身,还包括数据间的联系,而且能够被不同用户和程序访问 四、数据库系统 1、数据库系统(DataBase System 简称DBS),指在计算机系统中引入数据库后的系统构成 2、主要包括:数据库、硬件、软件、数据库管理系统、数据库管理员、数据库用户 注意:DBMS在操作系统的支持下工作,应用程序DBMS支持下才能使用数据库 五、数据管理系统 1、数据库管理系统(DataBase Management System...
SQL注入【布尔盲注】
SQL注入【布尔盲注】利用场景 在有些情况下,后台使用了错误信息屏蔽方法(比如@),屏蔽了报错, 无法在根据报错信息来进行注入的判断,该情况称为”盲注” 表现形式 based boolean (布尔盲注) based time(时间盲注) 布尔盲注 传入“”错误“”参数和“正确”参数,观察页面是否发生了变化 所用函数 length() 获取字符串的长度 substr() 截取字符串 语法:substr(string,num start,num length) string 字符串;start 起始位置(从1开始);截取长度 ascii() 把字符转换为ascii码值 靶场Less-81、进入靶场,只显示了you are in.. 2、将1改为0,观察页面是否发生了变化you are in… 这三个单词不见了页面发生变化 3、貌似是布尔盲注,通过探测得知为字符型布尔盲注 4、使用substr() 探测数据库版本号本地操作: 靶场: http://127.0.0.1/sqli/Less-8/?id=1‘ and...
SQL注入【时间盲注】
SQL注入【时间盲注】时间盲注也称为延时注入 利用场景如果说基于Boolean的盲注在页面上可以看到0 or 1 的回显,那么时间盲注完全啥都看不到但可以通过特定的输入,判断后台的执行时间,从而确定注入 所用函数 sleep() 让程序挂起,单位秒 if(condition,value_if_true,value_if_false) 语法:当condition为真时,返回value_if_true,否则返回value_if_false length() 获取字符串的长度 substr() 截取字符串 语法:substr(string,num start,num length) string 字符串;start 起始位置(从1开始);截取长度 ascii() 把字符转换为ascii码值 靶场Less-91、进入靶场 2、输出错误参数,页面无变化 3、加上 and sleep()函数 尝试让页面休眠10秒页面貌似延迟为2s 没有执行sleep()函数,猜想会不会是字符串型,换为’ and sleep(10) –...
SQL注入【二次注入】
SQL注入【二次注入】原理二次注入是指已存储(数据库、文件)的数据输入被读取后再次进入到 SQL 查询语句中导致的注入 二次注入是通过与数据库服务器进行交互的过程再次进行注入。 利用条件 用户输入恶意语句。 数据库把用户输入的数据没有做任何更改,直接进行了存储。 再用户取出数据的过程中,数据库将用户输入的数据完整且没有做任何修饰的展示给用户。 靶场Less-241、一个登录界面,可进行更改密码、注册用户 2、查看数据库中原有的数据 3、目的:改掉admin用户的密码 4、注册用户 12注册用户名为admin' -- q密码为123456 5、注册成功 6、查看数据库有无增加用户 7、使用用户名admin’ – q 登录 8、观察admin用户的密码为admin 9、更改admin’ – q用户的密码为654321 10、再次查看数据库观察到新注册的用户admin’ – q 密码没改变,admin用户的密码却更改为654321 11、使用admin用户登录登录成功 能够更改admin密码原理1、更改密码处的后端代码 1$sql = "UPDATE...
SQL注入【联合注入-数字型】
SQL注入【联合注入-数字型】概述注入的本质 用户输入的数据被当做代码执行 注入条件 用户可以控制传参 用户输入的语句被带入数据库并执行 显错注入原理 用户输入的数据被当做SQL语句执行,并带入数据库执行 对用户输入的数据没有做任何过滤,并且将结果返回到页面 显错注入所用函数 order by –>对字段进行排序group_concat() –>将字符连接起来,输出字符串集合,逗号分开limit start end 限制select的输出数量database() –>当前所用数据库名version() –>数据库版本号user() –>用户名 靶场Less-21、进入靶场 2 、将id=1处1改为2 3、轻松得知:该页面是通过id进行传参,通过改变id的值页面返回不同的内容 4、分别使用and 1=1 和and 1=2 进行探测 5、观察页面发生了变化,使用order by 判断字段数 [一般通过二分法判断] 6、得知字段数为3,使用联合查询 UNION 操作符用于连接两个以上的...
代码执行漏洞
代码执行漏洞一、定义代码执行漏洞(Remote Code Execution,RCE)是一种严重的安全漏洞,它允许攻击者在目标系统上远程执行任意代码。通过利用RCE漏洞,攻击者可以完全控制受害系统,执行恶意操作,如窃取敏感数据、安装恶意软件、破坏系统功能等。 二、工作原理代码执行漏洞通常发生在处理用户输入的代码中。当应用程序未正确验证、过滤或限制用户输入,并将其作为可执行代码的一部分时,攻击者可以注入恶意代码,诱使系统执行这些恶意代码,从而达到控制目标系统的目的。 例如,在PHP中,如果使用eval()函数执行用户输入的内容,就可能导致代码执行漏洞。假设有一个简单的PHP脚本: 1234<?php $code = $_GET['code']; ...
正则表达式
正则表达式正则表达式 正则表达式存在的意义:过滤和检索。 正则表达式,又称规则表达式(Regular Expression )常简写为regex,regexp,RE; 常用正则表达式函数 Preg\_match(\$pattern,\$subject,\$arr)搜索subject在pattern给的正则表达式的匹配,返回匹配次数为0或1,存在arr数组中。 Preg\_match\_all(\$mattern,\$str,\$arr):进行全局正则表达式的匹配,可多次匹配,返回共计匹配的次数存到arr数组。 preg\_replace...
SQL注入【报错型注入】
SQL注入【报错型注入】利用场景当页面没有正确的返回错误信息时,就可以利用报错注入 原理利用数据库中的个别函数进行报错使用 常见函数 updatexml() extractvalue() extractvalue()extractvalue() :对XML文档进行查询的函数 语法:extractvalue(目标xml文档,xml路径) 第二个参数 xml中的位置是可操作的地方,xml文档中查找字符位置是用 /xxx/xxx/xxx/…这种格式,如果我们写入其他格式,就会报错,并且会返回我们写入的非法格式内容,而这个非法的内容就是我们想要查询的内容。 extractvalue(456,concat(0x7e,version(),0x7e)) updatexml()updatexml():更新XML文档的函数 语法:updatexml(目标xml内容,xml文档路径,更新的内容) updatexml(1,concat(0x7e,(SELECT...
SQL注入【宽字节注入】
SQL注入【宽字节注入】原理GBK编码是占用两个字节,ASCII编码是占用一个字节。 在PHP中的编码方式为GBK,在函数执行添加的是ASCII编码,在mysql中国默认字符集是GBK等宽字节字符集(GBK属于宽字符集中的一种), 而mysql中使用的默认的GBK编码方式是导致宽字节注入的根源。 GBK 编码 两个字节表示一个字符 ASCII 编码 一个字节表示一个字符 MYSQL默认字节集是GBK等宽字节字符集 addslashes()函数1234567addslashes ( string `$str` ) : string返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(`'`)、双引号(`"`)、反斜线(`\`)与 NUL(**`null`** 字符)。只要注入' " \ 空字符 都会转义为 \' \" \\ \ 魔术单引号同理【PHP5.4及其以上魔术引号是被删除了】 利用场景如果网站使用了...