分类: Web

9 篇文章

Python正则表达式
在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re。 re模块的使用:import re 正则表达式的大致匹配过程是: 1.依次拿出表达式和文本中的字符比较, 2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。 3.如果表达式中有量词或边界,这个过程会稍微有一些不同。 匹…
命令执行绕过
通配符 在linux系统中 有一些通配符 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * ? 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0 [abcd] 匹配abcd中任何一个字符 [a-z] 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0 执行命令的…
关于preg_replace()的/e模式存在命令执行漏洞
在php正则匹配中,修正符号e的功能:只用在preg_replace()函数中,在替换字符串中逆向引用做正常的替换,将其(即“替换字符串”)作为PHP代码求值,并用其结果来替换所搜索的字符串。 挖坑源于buuoj一道题[BJDCTF2020]ZJCTF,不过如此 题中的其中一段源码 <?php$id = $_GET['id'];$_S…
php反序列化
serialize()函数 “所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示。序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。” 在程序执行结束时,内存数据便会立即销毁,变量所储存的数据便是内存数据,而文件、数据库是“持久数据”,因此PHP序列化就是将内存的变量数据“保存”到…
php特性
PHP intval() 函数 基本类型 intval() 函数用于获取变量的整数值。 intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。 int intval ( mixed $var [,…
XSS基本入门
xss简单介绍 xss概念 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户目的。 xss…
SQL注入
小知识点 系统函数 version()——MySQL 版本 user()——数据库用户名 database()——数据库名 @@datadir——数据库路径 @@version_compile_os——操作系统版本 字符串连接函数 1.concat(str1,str2,…)——没有分隔符地连接字符串 2.concat_ws(separator,st…
文件包含
文件包含 什么是文件包含 文件包含,为了更好地使用代码的重用性,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码。 文件包含漏洞成因 在包含文件时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量来引入需要包含的文件时,用户可以对变量的值可控而服务器端未对变量值进行合理地校验或者校验被绕过,这样就导致了文件包含…
文件上传
文件上传验证 文件头验证 jpg格式图片,文件头为JFIF gif格式的图片,文件头为GIF89a png格式的图片,文件头为PNG 绕过:修改文件头,伪造文件属性 文件类型验证 抓包中的发送包里的 Content-Type 图片格式:image/jpeg脚本格式:application/octet-stream 含有上传文件属性 绕过:修改文件类…