![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安全入门
YINZHE_
这个作者很懒,什么都没留下…
展开
-
App
app渗透测试原理 (app渗透测试和web渗透测试基本没有区别)在项目中90%是没有源码的其实只要web存在得漏洞,app也都存在,比如:sql注入、验证码绕过、越权、支付漏洞、csrf、变量覆盖、反序列化、文件包含、ssrf、xxe、文件上传等。那么渗透测试的核心就是控制传参(把控传参),只有传参了,产生交互了,才可以把网站渗透测试下来。app实际上的交互是什么,跟app交互的还是服务器,用的还是http协议。>>>app>网站正常网站的交互是浏览器到网站 >>原创 2020-11-02 10:27:58 · 522 阅读 · 0 评论 -
web安全入门(第九章-4)反序列化
一、什么是序列化1,定义 简单的说:将php中对象、类、数组、变量、匿名函数等,转化为字符串, 方便保存到数据库或者文件中 //将状态信息保存为字符串2,什么是反序列化 //将字符串保存为状态信息3,类与对象 ~类与对象 在次说一下, 类就是代表一种物体的总称,比如猫类,狗类,鱼类等等 对象就是类的具体体现,比如狗类的拉布拉多犬 举例: 人这个“类”,张三是类具体的人,即对象 这里的类就是“人”,张三就是“对象” ~类得初始化,即要给“类”赋予原创 2020-06-07 23:02:10 · 305 阅读 · 0 评论 -
web安全入门(第九章-3)文件包含
一、什么是文件包含漏洞0,场景 后端的每个页面都要进行身份验证。假若普通人可以访问管理员才能看到的页面 不就造成了越权吗。但是如果每个页面都写一遍验证身份的代码。整个系统会变得 很冗余且难维护。 为此,开发们写了一些文件包含函数。这样验证代码仅仅写在一个文件中, 什么地方用到就调用这个文件,即文件包含 初衷:~减少代码冗余 ~方便修改1,定义 攻击者利用包含的特性,加上应用本身对包含文件的控制不严格, 导致系统执行了攻击者的恶意文件。 本质上,文原创 2020-06-07 23:00:27 · 246 阅读 · 0 评论 -
web安全入门(第九章-2)变量覆盖
一、什么是变量覆盖0,代码审计方式 黑盒审计: 没有源代码,直接去测试 白盒审计: 给你源代码,给你去测试 灰盒审计: 有源代码,先用黑盒测试去,有问题在回头看源代码 从某种角度说,脚本小子与内行渗透人员的主要区别就在于: 是否可以进行白盒审计或者说是否会向这个方向思考(能不能看懂代码) 1,定义 指的是可以用我们的传参值替换程序原有的变量值 例如: <?php $a = 1; $a = fg; //在这就完成了覆盖,是不是很简单原创 2020-06-07 22:58:20 · 355 阅读 · 0 评论 -
web安全入门(第九章-1)xxe实体注入
一、什么是XXE1,本质 简单的说,就是XML外部实体注入攻击 分解一下 注入:将用户输入的内容当作代码执行 sql注入:将用户输入的内容当作sql代码执行 XML: 一种类似HTML的语言, 主要是存储传输数据的, 没有预定义标签 实体: 简单的理解为变量,可以存储一些东西 总结:XXE,就是XML引用的数据当作代码被执行, 即XML外部实体注入攻击 典型的攻击如下:原创 2020-06-07 22:56:48 · 331 阅读 · 0 评论 -
web安全入门(第八章-4)ssrf
一、什么是SSRF0,补充 CSRF:你的浏览器偷偷的发送了数据包 SSRF:服务器发送了数据包. 1.定义 指攻击者能够从易受攻击的web应用程序发送精心设计的请求, 从而对其他网站进行攻击。 简单说,利用某站点发送请求攻击其他目标站点(借刀杀人) 2.主流防护 WAF 防火墙 IPS 主流防护概念:防外不防内。外网吊的一批,内网low的不行 只要突进内网,基本任你驰骋 3,主要危害 SSRF原理类似代理,但是主要危害是内网渗透原创 2020-06-06 22:10:56 · 334 阅读 · 0 评论 -
web安全入门(第八章-3)支付漏洞
一、快捷支付原理1,原理 ~浏览器跳转 简单说,你付钱了,浏览器通知服务器,服务器更新你的金额 //基本依托前端跳转,不可靠,现在应该极其少见 ~服务器端异步通知 简单说,你付钱,发一个通知给服务器, 同时,你支付的平台也会向服务器发送一个通知。 服务器对比一下你的通知与支付平台通知, 一致则更新你的金额。不一致,一般都会等待客服处理 //相对安全2,补充 ~支付漏洞并不需要代码审计,其实更适合新手 ~支付漏洞属于逻辑漏洞原创 2020-06-06 22:09:18 · 857 阅读 · 1 评论 -
web安全入门(第八章-2)越权漏洞
一、什么是越权1,概念:常见的逻辑漏洞,由业务逻辑处理问题造成的,它本身单独可能不是漏洞, 但对于业务逻辑而言是漏洞,比如:普通 用户修改掉管理员的密码 2,本质:服务器对提交数据的用户没有检测权限,使a用户能直接增删改查 其他用户或管理员信息3,分类: ~垂直越权(普通用户可以改管理员信息) ~平行越权(普通a用户可以改其他用户信息) ~交叉越权(即有垂直越权也有平行概念)4,常见性:非常常见,并且逻辑类漏洞,漏扫工具无法扫描出, 基本都是高度安全环境中首测原创 2020-06-05 09:06:22 · 1859 阅读 · 0 评论 -
web安全入门(第八章-1)验证码绕过
一、验证码作用0,之前都是普通漏洞,今天开始的都是逻辑漏洞 逻辑漏洞: ~不是代码层面的错误 ~另外逻辑漏洞基本可以是通杀 ~现在的很多大厂,基本不会有普通漏洞,但是逻辑漏洞是很难避免1,本质: 简单的说,验证码是为了区分用户是计算机还是人的一种全自动工具2,作用: 利用较为简单的程序就可以有效防止:密码破解、刷票、论坛灌水(霸屏)等等二、验证码绕过的常见姿势1,绕过方向 通过验证码的逻辑进行入手 通过python、Golang等程序自动识别原创 2020-06-05 09:01:56 · 1407 阅读 · 0 评论 -
web安全入门(第七章-3)文件上传漏洞--解析、验证、伪造
一、实战注意1,图片马的意义 ~绕过前端检测 ~绕过类型检测 (Content-Type) ~绕过文件头检测2,一句话木马根据脚本语言类型来 要根据不同条件制作, php:<?php @eval($_REQUEST['a']);?> asp:<%eval request("a")%>二、IIS6.0解析漏洞1,漏洞本质 IIS6.0解析漏洞,其实有一些不如说是IIS6.0的一些特性,严格意义上讲, 只是一些默认配置并不是漏洞但是也有一些的原创 2020-06-02 15:37:11 · 441 阅读 · 0 评论 -
web安全入门(第七章-2)文件上传漏洞--解析、验证、伪造
一、%00截断和00截断1,白名单比黑名单机制安全了太多,但是也不是绝对安全2,%00是干嘛的 在说这的作用之前,先说一下服务器保存机制(其中的一种) 用户上传图片 -> 上传到临时目录 -> php移动重命名 %00就是再移动重命名的时候,动手脚 比如,我们上传木马命名为:1.php%00.jpg,当程序读取到 %00 他就认为到这结束了,于是保存为1.php 注意:这也是由php版本限制的,高版本貌似修复了此bug %00是url编码后的,实际上是原创 2020-06-02 15:36:21 · 641 阅读 · 0 评论 -
web安全入门(第七章-1)文件上传漏洞--解析、验证、伪造
一、客户端检测1,客户端校验: 一般是在网页上写一段Js脚本,用Js去检测, 校验上传文件的后缀名,有白名单也有黑名单。2,判断方式: 通过抓包来判断,如果还未抓住包,就弹出不准上传, 那么就是前端验证,否则一般就是服务端验证3,突破方法 前端验证非常不可靠,通常可通过两种方式绕过: ~关闭JS尝试绕过 ~传正常文件通过burp修改数据包就可以绕过(推荐)4,黑白名单机制: 黑名单:不允许上传什么 白名单:只允许上传什么 白名单比黑名单更安全二、服务原创 2020-06-02 15:34:56 · 1055 阅读 · 0 评论 -
文件上传漏洞总结
文件上传1.前后端检测:使用BurpSuite抓包,有数据包为后端,无数据包为前端。 文件马成功的两个核心条件: 1.成功上传图片马到服务器,且图片马中的恶意代码保存完整 2.文件马被php解析器(asp解析器)解析 2.分类: PHP: 前端检测: 白名单:允许上传什么。 黑名单:不允许上传什么。 绕过: 1.关闭js。 2.抓包修改。 后端检测: 白名单:允许上传什么。 00截断: %00和00就是代表一个结束符。原创 2020-06-02 15:32:57 · 2691 阅读 · 1 评论 -
web安全入门(第六章-1)xss的原理分析与解剖
1,什么是XSS定义: 个人理解:就是HTML代码注入 注入攻击的本质,就是把用户输入的数据当作前端代码去执行 HTML+CSS+JS 组合拼接的什么: 拼接的HTML代码,一般是JS语句XSS的危害: ~盗取cookie //主要 ~获取内网ip ~获取浏览器保存的明文密码 ~截取网页屏幕 ~网页上的键盘记录 cookie是存放在用户的浏览器里面的,只要能操纵你的浏览器或者读取你的cookie,别人就能得到 XSS平台: 为了方便利用各种复杂X原创 2020-06-02 13:33:52 · 568 阅读 · 0 评论 -
web安全入门(第五章-5)报错注入
1,Oracle中的一个表 – Dual 数据会区分大小写,代码不会 本质:为了满足语句格式而诞生的一个临时表 //有人说是实表,有人说是虚表,咱们不用再在意 用法: 在mysql中可能可以直接这么写 select 1,2,3; select user();//查询当前用户 但Oracle语法结构严谨,这么写 select 1,2,3 from Dual; select user from Dual 除原创 2020-06-02 11:07:06 · 233 阅读 · 0 评论 -
web安全入门(第五章-4)反弹注入
一、MSSQL反弹注入使用场景 0,MSSQL数据库就是Sql server数据库 1,前言 MSSQL注入攻击是最为复杂的数据库攻击技术,由于该数据库功能十分强大, 存储过程以及函数语句十分丰富,这些灵活的语句造就了新颖独特的攻击思路 2,遇到问题 明明有注入点却无法进行注入,工具攻击速度也是异常缓慢,错误提示信息关闭, 无法返回注入结果,这些都是在注入攻击中常常遇到的问题。为例解决以上的疑难杂症, 我们来学习反弹注入,反弹注入则依靠opendatasource函数支持 3,简原创 2020-06-02 11:04:51 · 498 阅读 · 1 评论 -
web安全入门(第五章-3)dns注入
一、DNSLOG的函数解析1,基本 DNS(协议 域名 -> IP转换) 日志:基本上所有程序都会记录日志 DNS 他实际上也是有日志的 补充:问:DNSlog注入是不是在linx系统可不可以用SMB服务? (全称是Server Message Block , 用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居由它实现。) 答:在linx里面默认不可以使用,因为linx没有这个服务2,函数用法: select原创 2020-06-02 11:01:41 · 322 阅读 · 0 评论 -
web安全入门(第五章-2)偏移注入
一、偏移注入使用场景 早sql注入得时候会遇到一些无法查询列名得问题,比如系统自带数据库的 权限不够而无法访问系统自带库。 或者遇到Access数据库 当你猜到表名无法猜到字段名的情况下,我们可以使用偏移注入来查询那张表里面的数据。 向sqlmap之类的工具实际上是爆破字段名的名字,但是如果字段名称比较奇葩,例如:H5scker_passwd 之类的那就无可奈何了。总结: ~权限不够 ~遇到access数据库,且列名奇葩难爆破时 .* =>正则[匹配所有] .原创 2020-06-02 10:59:53 · 437 阅读 · 0 评论 -
阶段总结
sql注入sql注入的本质:是把用户输入的数据当做代码去执行。sql注入的条件:1.用户能够控制输入 2.原本执行的代码,拼接了用户输入的数据去执行。 判断注入的方法:1.and 1=1 and 1=2 页面错误说明存在注入 2.id =1' 引号被执行说明存在注入 2.id =1y与id =2-1的界面相同说明存在注入 sql注入的分类:1.显错注入:get注入和post注入是两种传参方式,post是通过登录框进行传参,get是通过在url栏里进行传参,原创 2020-05-31 23:28:17 · 401 阅读 · 0 评论 -
web安全入门(第四章-5)宽字节注入
一、魔术引号是什么 我们现在要了解一个PHP的防御函数 magic_quotes_gpc(魔术引号开关) magic_quotes_gpc函数在php中的作用是判断解析用户提交的数据,如包括 有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会 引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。 单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符都会被加上反斜线\ 转义字符 比如:1'union se原创 2020-05-26 14:48:49 · 283 阅读 · 0 评论 -
web安全入门(第五章-1)cookie注入
一、cookie注入 什么是Cookie?Cookie就是代表你身份的一串字符串,网站根据Cookie来识别你是谁,如果你获取了管理员的Cookie,你可以无需密码直接登陆管理员账号。cookie注入满足什么条件?1.满足的条件[]2.网站会获取cookie传参然后和原有sql语句拼接在传入数据库。为什么Cookie和注入擦出了爱情的火花?(原理部分)在动态脚本语言中存在超全局变量可以获取多种传参方式(基本上)很多时候开发在开发的时候为了考虑到多种接受参数,在接受参数的时候都是用多种解释原创 2020-05-26 14:41:12 · 758 阅读 · 0 评论 -
web安全入门(第四章-4)盲注注入
一、盲注介绍 所谓盲注就是在服务器没有错误回显的时候完成的注入攻击。服务器没有错误回显,对于攻击者来说缺少了非常重要的“调试信息”。布尔盲注 布尔很明显trup跟fales,也就是说他只会根据你的诸如信息 返回trup跟fales,也就没有了之前的报错信息。 时间盲注 界面返回值只有一种,trup无论输入任何值,返回情况都会按 正常的来处理。加入特定的时间函数,通过查看web页面返回的时间差 来判断注入的语句是否正确。 二、盲注需要掌握的几个函数length原创 2020-05-26 14:34:35 · 352 阅读 · 0 评论 -
web安全入门(第四章-2)渗透测试常用工具讲解
sqlmap的基础指令 常用最基础指令: -u指定注入点 --dbs跑库名 --tables 跑表名 --columns 跑字段名 --dump 枚举数据 -D指定库 -T指定表 -C指定字段 sqlmap.py -u http://59.63.200.79:8003/?id=1 -D maoshe -T admin -C password --dump渗透测试常用工具-本课易错回答分析1.如何安装Java环境访问https://www.原创 2020-05-22 21:19:24 · 422 阅读 · 0 评论 -
web安全入门(第四章-3)POST注入HEAD注入
一、POST注入介绍 注入攻击的本质,是把用户输入的数据当作代码执行。 有两个关键条件: 第一个是用户能够控制输入 第二个是原本程序要执行的代码,拼接了用户输入的数据。 POST注入属于诸如的一种,相信大家在之前的课程中都知道post\get两种传参方式。 POST注入就是使用post进行传参的注入,本质上和get类型的没什么区别。 POST注入高危点: 登录框 查询框 等各种和数据库有交互的框万能密码:admin/'or 1=1 POST注入HEA原创 2020-05-22 21:16:04 · 698 阅读 · 0 评论 -
web安全入门(第四章-1)SQL注入的原理分析
1、SQL注入本质注入攻击的本质,是把用户输入的数据当作代码执行这有两个条件:第一个是用户能够控制输入第二个是原本程序要执行的代码,拼接里用户输入的数据然后执行sql注入就是针对sql语句的注入,也可以理解为用户输入的数据当作sql语句的代码执行了sql注入是1998年一名叫做rfp的黑客发表的一篇文章让后才进入了大众视线。2、显错注入靶场的做法判断注入点最古老的方法:输入and1=1页面正常 输入and1=2页面不正常最简单的方法:页面后面加',看是原创 2020-05-18 18:06:55 · 349 阅读 · 0 评论 -
web安全入门(第三章-2)信息搜集的意义 — 渗透测试的灵魂(一)
一、重要性——为什么要信息收集信息收集究竟需要收集什么?为什么要收集这些?1、whois信息什么是whois? whois指的是域名注册时留下的信息,比如留下管理员的名字,电话号码、邮箱。 为什么要收集whois? 域名注册人可能就是网站管理员,可以尝试社工、套路、查询是不是注册了 其他域名扩大攻击范围。(http://www.bugku.com/mima/)2、子域名什么是子域名? 顶级域名下的二级域名或者三级甚至更多级的域名都属于子域名,有原创 2020-05-16 22:22:58 · 552 阅读 · 0 评论 -
web安全入门(第三章-1)信息搜集(一)
网络架构-信息收集1、域名知多少 域名级数是指一个域名有多少级组成,域名的各个级别被”.“分开, 简而言之,有多少个点就是几级域名。 顶级域名:.com(商).edu(教).gov(政).mil(军)一级域名:qq.com 二级域名:ke.qq.com 三级域名:zhz.ke.qq.com 2、子域名收集 layer子域名挖掘 dnsenum3、whois是用来查询域名的IP以及所有者等信息的传输协议。whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信原创 2020-05-16 18:57:20 · 540 阅读 · 1 评论 -
web安全入门(第二章-6)后端基础PHP—表单验证
一、什么是表单表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用动态脚本的URL以及数据提交到服务器的方法。 表单域:包含里文本框、密码框、隐藏狂、多行文字框、复选框、下拉选 择框和文 件上传框等。 表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的动态脚本或者 取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。 使用原创 2020-05-15 21:41:28 · 195 阅读 · 0 评论 -
web安全入门(第二章-5)后端基础PHP—简介及基本函数-下
一、循环语句的书写 *for 循环 *while循环 *contion和break for循环例子: for(初始值;条件;执行的语句) <?php for ($x=0;$x<=10;$x++){ ceho "数字是:$x<br>"; } ?> while循环例子: 语法:while(条件为真){要执行的代码;}原创 2020-05-15 17:50:16 · 225 阅读 · 0 评论 -
web安全入门(第二章-4)后端基础PHP—简介及基本函数-上
php: 1.什么是PHP? 2.使用场景: 网站需要动态操作的,如注册、登录、查询。 网站需要生成静态文件确保安全的。 需要快速看见效果的项目。 部分游戏服务端,(swoole扩展)。 3.php基础语法: 1.xml风格:<?php 开头,以?>结尾。 2.脚本风格:<script language="php"></script> 3.变量声明(美元符开头,如 $value;) 4.常量声明(define原创 2020-05-15 17:41:27 · 176 阅读 · 0 评论 -
web安全入门(第二章-3)后端基础SQL— 高级查询与子查询
一、MySQL的基础查询语句(单引号闭合 引号括号成对出现 选库 表不能重复建 字段插数据)(选库 建表 插数据)select*from表order by 字段[ASC(默认)/DESC];升序(从小到大)ASC,降序(从大到小)DESCselect*from 表 limit n,m;n表示从第几行开始,m表示取几条select*from 表where username like '%%' 模糊查询运算符号:+ - * / %逻辑运算: NOT(!)原创 2020-05-15 17:36:40 · 227 阅读 · 0 评论 -
web安全入门(第二章-2)后端基础SQL—数据库简介及SQL语法
1、什么是数据库? 数据库就是将大量数据包保存起来,通过计算机加工而成的可以高效访问的数据集合 数据库是长期储存在计算机内、有组织、可共享的数据集合。2、 常见数据库 ①Oracle Database:甲骨文公司 ②SQL Server :微软公司 ③DB2:IBM 公司 ④PostgreSQL:开源 ⑥Access:微软公司[古董] SQLite3、数据路结构基本知识:1.服务端:用于接收并处理其他程序发出的请求的程序(软件),或者是安装此程序的设备(计算机)原创 2020-05-14 22:49:34 · 271 阅读 · 0 评论 -
web安全入门(第二章-1)前端基础
1、前端基础是什么结论:前端就是网页的展示页面的书写和排版HTML:是前端页面的骨架CSS:是前端页面的化妆师JS:丰富页面功能的脚本HTML:叫做 超文本标记语言 是一种用于创建网页的标准标记语言CSS: 叫做 层叠样式表 能够对网页中元素位置的排版进行像素级精确控制, 拥有对网页对象和模型样式编辑的能力。Javascript(简称js) 它是一种浏览器可以执行的脚本语言,功能非常强大。2、HTML最简单的构架HTML 标签是由尖括号包围的关键词,比如<原创 2020-05-14 22:45:58 · 173 阅读 · 0 评论 -
web安全入门-第一章 - 入门篇
零基础学习安全Web服务器通信原理一、基本内容介绍1、经常用的系统有三种:Iinux Windows server macos serverWindows 他用于家用、办公,不会去搭建服务器就是一台24小时不停歇的电脑Iinux 安卓 包括:Centos Debian UbuntuWindows:一定是盘开头Iinux:一定是/开头macos:比较罕见,一般不会用在服务器上,只会用在个人pc上ip:数字.数字.数字.数字比如192.168.1.1点之间的数字在0-255之间原创 2020-05-11 23:14:11 · 690 阅读 · 0 评论 -
web安全入门-基础篇(上)
奋斗,努力,加油一步一个脚印,记录自己的成长。1.PHP: 编程语言.核心描述 能开发网站 <?php ?> 标识,算是格式 echo 'Hello World'; 代码, echo 指令:输出。echo就是一个输出的功能 单引号‘’内的包含的就是 字符串 分号;指结束2,继续<?php $:变量 sex:代表,表示 两个等号:作比较,相对立的 sex=判定是某个变量 if如果是这个变量会执行 如果不是这个变量执行对立的变量 <?php原创 2020-05-10 21:51:27 · 773 阅读 · 0 评论