命令执行漏洞
命令执行漏洞常用绕过 绕过php,flag等特殊字符:使用通配符 绕过system等执行函数:使用反单引号 过滤了. \ `等函数常用字符,但是没有过滤$和_,使用逃逸,c=eval($_GET[1]) 最nb的是可以使用URL编码进行绕过,因为服务器会自动解一层url编码,所以可以对过滤掉的字符进行一次url编码 过滤了分号,最后一条语句可以不带分号,结束的标志为’?>’,则我们可以将两条语句中间需要分号的位置替换为’?>’,那么就可以使用两条语句 过滤了分号和括号,则必须使用语言结构,echo print isset unset include...
acwing搭建云服务器及docker的使用
搭建云服务器以下环境为Ubuntu20云平台作用 关系 在租到的服务器上搭建docker类似于在服务器上又开了一台虚拟服务器,重新划分了一下服务器的房子 docker的搭建原因:docker有很强的迁移性,例如从阿里云的服务器迁移到腾讯云时,使用docker可以很容易地迁移 docker是非常独立的:可以在一个服务器上开任意多个docker 未来的开发环境是在docker所在的第三层 选择配置问题 常规搭建步骤 配置以下本地的 ~/.ssh/config文件,可以实现不用username@hostname,使用别名机制登录 配置一下免密登录## 免密登录 1. 在本地(本子上),**ssh-keygen**,会在.ssh/文件夹下生成密钥:id_rsa和公钥id_rsa.pub 2. 之后想要免密登录哪个服务器,就将本地的公钥传给哪个服务器即可 3. 在服务器中的.ssh/路径下创建一个 **authorized_keys** 文件,然后将本地生成的密钥复制到这个文件中,如果原本就有这个文件,那么只需要在后面加上密钥即可 4....
ssh
ssh远程登录原理 安全,即使被截获也没毛病 远程登录服务器语法 ssh user@hostname user:用户名 hostname:IP地址或域名 初次登录会提示 初次登录会提示 登录后服务器的信息会记录在~/.ssh/known_hosts文件夹中 然后输入密码即可登录到服务器中 默认登录端口为22,如果想要登录某一特定端口,加上 -p 参数 假设想要登录23号端口:ssh username@hostname -p 23 配置文件 在客户端中(主机,本子)中创建文件 ~/.ssh/config config文件就是用来创建别名机制的 在文件中输入Host myserver1 HostName IP地址或域名 User 用户名 Host myserver2 HostName IP地址或域名 User 用户名 之后再使用服务器时,可以直接使用别名myserver1 和...
小迪老师代码审计
代码审计挖掘漏洞 关键字搜索:1搜变量,2搜函数关键字 工具 fortify,批量化挖掘漏洞,静态挖掘漏洞,支持多种语言,做题先扫描一遍seay: 扫描关键字, 输入关键字之后点击全局搜索, 但是可能封装到一个类中了, 记住勾选正则和不区分大小写, 一定要看看哪一个语句是否有变量,没有变量就是写死了,没有办法控制变量,就没办法sql注入, 乱码记得切换编码 由关键字搜索到具体函数,根据函数名右键全局搜索调用函数的位置 关键字搜索,使用全局搜索,搜索可控变量或者执行函数 搜索例如select update insert...
文件上传
文件上传经典绕过 更改js代码绕过前端过滤 文件后缀,大小写、如果是apache,可以多写一个不能解析的后缀,php.xxxx 如果后端是通过content-type来进行校验的,可以将content-type修改为可以上传的文件的类型值,后端代码对应为$_FILE(“file”) 绕过php字符内容:使用短标签= 绕过空格:使用转义字符’\t’ 或者 进行URL编码 绕过[]:在php中大括号和中括号等价,可以使用{}来绕过对中括号的过滤 绕过[]和{}:使用array_pop()函数,括号内部写传参的形式,array_pop($_POST);,以字符串的形式返回执行语句,可以配合eval()函数进行使用 ...
php基本语法复习
php一种创建动态交互性站点的强有力的服务端脚本语言环境:phpstudy搭建而成 在phpstudy下的WWW下的文件夹下编写php程序 保存到WWW的下一级目录下 可以使用回环地址加上php文件名运行程序 例如:127.0.0.1/文件名.php 什么是php文件 php文件可以包含文本、HTML、CSS、以及PHP代码 php代码在服务器上执行,而结果以纯文本的形式返回浏览器 文件名后缀为.php php能够做什么 语法知识php脚本可以放在文档中的任何位置开头结尾 php脚本以’ <?php ‘开头 以’ ?> ‘结尾 内建php输出文本函数 echo<!DOCTYPE html> <html> <body> <h1>我的第一张 PHP 页面</h1> <?php echo "Hello...
小迪老师信息收集
...
判断注入类型
判断注入类型区分是字符型注入还是数字型注入数字型注入: 假设后台语句构造为select * from table where id=$id 传入5’ –+ select * from table where id=5’ –+ 未产生单引号闭合,所以报错 字符型注入: 假设后台语句构造为select * from table where id=$’id’ 传入5’ –+ select * from table where id=’5’ –+ ‘ 最后的一个单引号被注释掉,单引号可以闭合,此时查询正确 所以加单引号去判断是数字型注入还是字符型注入实例:?id=5 and 1=1 如果返回页面与原页面一致(回显正确) 则为数值型注入 原因: 1. 猜测为数值型,后台语句为select * from table where id=5 and 1=1;where语句判断条件为真并且id参数值为5,正常执行 2. 猜测为字符型,后台语句为select * from table where id='5 and...
sql存储过程和函数
存储过程和数据库show global variables like '_O%'; show session variables; set @username = '刘禅'; -- set可以定义全局变量和用户变量,也可以给全局变量,用户变量和局部变量赋值 -- declare定义局部变量 -- declare 变量名列表 类型 default值 -- if条件表达式 /* if(条件) then 语句序列1; elseif(条件) then 语句序列2; else 语句序列; end if; 每个语句序列后面都要加分号; if elseif else endif endif 后面也要加分号 */ delimiter $$ begin declare v_avgscore float; select round(avg(score),2) into v_avgscore from sc where sno = 's3'; if(v_avgscore >=...