RCE
Remote Command/Code Execution
漏洞形成条件存在可控变量
存在可利用的漏洞函数
代码执行12345<?phphighlight_file(__FILE__);$a = $_GET['b'];eval($a);?>
命令执行12345<?phphighlight_file(__FILE__);$a = $_GET['b'];system($a);?>
RCE漏洞产生相关函数PHP代码执行函数:
eval()//把字符串作为PHP代码执行
assert()//检查一个断言是否为 FALSE,可用来执行代码
preg_replace()//执行一个正则表达式的搜索和替换
call_user_func()//把第一个参数作为回调函数调用
call_user_func_array()//调用回调函数,并把一个数组参数作为回调函数的参数
array_map()//为数组的每个元素应用回调函数
PHP命令执行函数:
system()//执行外部程序,并且显示输出
exec()//执行一个外 ...
逻辑越权
水平垂直越权概念
水平通过更换某个ID之类的身份标识,从而使A账号获取(修改、删除等)B账号数据。(AB同级)
垂直使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。
未授权通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作。(无需账户登录)
原理前端安全造成:界面判断用户等级后,前端代码界面部分进行可选显示
有的页面不显示,不代表不存在,只是权限不够
漏洞点在只是没有显示,但是没有限制身份的访问
后端安全造成:数据库如果在访问网站数据包中有传输用户的编号、用户所属组编号或类型编号时,就可以尝试对这类值进行修改,这也是最基本的越权漏洞测试
例如:
id
username
password
usertype
1
admin
123456
1
2
1ceC0la
654321
0
当登陆时,会调用数据库判断admin和1ceC0la的权限,即此处的usertype的值
修复防御方案1.前后端同时对用户输入信息进行校验,双重验证机制
2.调用功能前验证用户是否有权限调用相关功能
3.执行关键操作前必须验证用户身份,验证用户是否具备操 ...
CSRF及SSRF
CSRF
跨站脚本请求
Cross-Site Request Forgery
原理
攻击者在自己的服务器上构造了攻击代码(比如知道添加管理员的数据包),受害者(管理员)用自己的身份权限在自己的浏览器去访问攻击链接
漏洞检测利用burp抓包,并且发送至Generate CSRF PoC这个插件
在这个页面修改信息,并生成攻击代码
copy攻击代码后,将其放在自己的服务器上
然后用受害者身份在受害者的环境去访问,若信息修改成功,则存在CSRF
靶场Pikachu靶场
防御方法1.当用户发送重要的请求时需要输入原始密码
2.设置随机token,检测数据报的唯一性(最有效)
3.校验Referer来源,请求时判断请求链接是否是当前管理员正在使用的页面(管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)
4.设置验证码
5.限制请求方式只能为POST
SSRF
服务器请求伪造
Server-Side Request Forgery
原理
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比 ...
反序列化
PHP
原理对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致RCE,SQL注入,目录遍历等不可控后果。在反序列化的过程中会自动触发某些魔术方法。当反序列化的时候就有可能触发对象中的一些魔术方法。
序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字
测试:
1234567891011121314151617181920<?phpclass test { public $var1 = true; public $var2 = "hello,world!"; public $var3 = 1; public $var4 = 0.1; public $var5 = null; function myfunc ($arg1, $arg2) { echo $arg1; echo '</br>'; echo $arg2; }}$test = new test();//$test->myfun ...
信息收集
CDN(多网)CDN(内容分发网络)通过遍布全国的缓存边缘节点、内部专用线路以及完善的网络路由调度机制为用户自动选择最佳网络访问路径,将源站的内容分发到最接近用户的网络边缘节点,解决用户访问速度慢的问题,提供全方位的更快、更稳定、更便捷的网络访问体验。
WAF(Web Application Firewall)网站应用级入侵防御系统,web应用防火墙是通过一些列针对HTTP/HTTPS的安全册罗来专门为Web应用提供保护的一款产品
CMS(Content Management System)意为”内容管理系统”。
内容管理系统(content management system,CMS)是一种位于WEB 前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到Internet、Intranet以及Extranet网站的信息。
内容管理还可选地提供内容抓取工具,将第三方信息来源,比如将文本文件、HTM ...
基础入门
基础入门
DNSHost和DNS的关系脚本语言常见脚本语言asp php aspx jsp javaweb pl py cgi
后门免杀
web组成网站源码:分脚本类型、应用方向
操作系统:windows、linux
中间件(搭建平台):apache、iis、tomcat、nginx
数据库:access、mysql、mssql、oracle、sybase、db2、postsql
web安全相关漏洞web源码类对应漏洞SQL注入,文件上传,XSS,代码执行,变量覆盖,逻辑漏洞,反序列化
web中间件对应漏洞web数据库对应漏洞web系统层对应漏洞提权
其他第三方漏洞APP或PC应用结合类有些app是网页套壳,可以通过工具逆向出相关网页,进行web攻击
数据包http与https
http建立连接->发送请求数据包->返回响应数据包->关闭连接
https
Request请求数据包请求行:请求类型/请求资源路径、协议的版本和类型
用burp改包成POST传参时,需要添加Content-Type: application/x-www-form-urlenco ...
搭建部署博客
前期准备环境:CentOS8.1
配置:nodejs、cnpm、git、hexo
注意:配置时需要root权限,所以登录root用户
安装nodejs安装:
1[root@localhost ~]# yum -y install nodejs
测试安装是否成功:
123456[root@localhost ~]# node -vv10.21.0[root@localhost ~]# npm -v6.14.4# 显示版本即可
安装cnpm安装:
1[root@localhost ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org
测试安装是否成功:
123456789[root@localhost ~]# cnpm -vcnpm@6.1.1 (/usr/local/lib/node_modules/cnpm/lib/parse_argv.js)npm@6.14.11 (/usr/local/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)nod ...