学习笔记
文章平均质量分 75
学习笔记,从0到1的学习之路!!!
Mr.Huang__
持续学习
展开
-
存储型XSS
一、同源策略为什么A站点会填充A站点的Cookie,B站点会填充B站点的Cookie,他们不会相互乱窜?同源策略:浏览器的同源策略,限制了不同源的Js,对当前页面的资源和属性的权限。同源策略保护了a.com域名下的资源不被来自其他网页的脚本读取或篡改所谓同源:需要同 域名/host、端口、协议二、如何使用XSS平台 偷Cookie持久型/存储型XSS:嵌入到web页面的恶意HTML会被存储到应用服务器端,简而言之就是会被存储到数据库,等用户在打开页面时,会继续执行恶意代码,能够持续的攻击用户;前原创 2021-09-16 22:26:29 · 713 阅读 · 0 评论 -
XSS的原理分析与解剖
一、XSS的原理和特性SQL注入 => 用户输入的数据被当做SQL代码执行XSS => 用户输出的数据被当做前端代码执行前端代码有哪些:构建网页的页面HTML CSS JS(Javascript)HTML:构成网页的基础和骨架CSS:美丽的化妆师(美化页面)Javascript:可以操纵浏览器/动画核心是执行JS代码XSS:偷取用户的身份凭证(Cookie)document.cookie 获取网页当前Cookie读取Cookie将Cookie发送出去成了一原创 2021-09-13 17:43:50 · 225 阅读 · 0 评论 -
Oracle——显错注入和报错注入
一、注入函数解析数据库语言大同小异oracle 甲骨文公司使用免费的数据库 服务收费http://59.63.200.79:8808/index_x.php这个网址提供了,Oracle的数据库接口,我们就可以直接用这个,而不用自己搭建了。dual这个是一个虚表,是不存在的,是为了专门满足格式而存在的一个表。Oracle 很死板 非常讲究语法格式因为你Oracle不像mysql一样,后面不加表也行,他是必须加个表名满足格式,但是为了方便就提供了dual这个表。原创 2021-09-11 01:40:53 · 251 阅读 · 0 评论 -
MSSQL注入之_反弹注入
一、MSSQL反弹注入使用场景MSSQL数据库 => SQL server反弹注入:攻击者 -> 目标服务器(SQL注入)目标服务器 (执行一个查询) -> 插入到一个外部数据库1、有SQL注入,漏洞2、外部数据库得插进去(我们要有一个外部数据库)[搭建一个MSSQL的数据库] 公网ip [一台有公网ip的MSSQL数据库]二、快速搭建一个MSSQL环境(骚姿势)三、MSSQL显错注入教学MSSQL和MYSQL显错注入不太一样,我们根据靶场环境来进行演原创 2021-09-07 20:06:21 · 167 阅读 · 0 评论 -
MySQL_DNS注入
一、DNSLOG的使用场景DNS log 【DNS日志注入】DNS协议:将域名转化为IP 日志 => 记录了域名转化IP请求日志 => 日记 - 记录操作、记录访问的文件DNS日志 => 某时某分谁谁谁请求我查某某域名如果我们搭建一个DNS服务器来承接域名解析。所有的访问域名都会被我们的日志记录下来域名 => 由运营商解析。 修改域名的设置方法,强行执行某个Ip去解析域名 NS记录固定的域名 由固定的DNS服务器解析DNS注入的核心,将盲注转化为显错注入DNS协议原创 2021-09-06 23:01:38 · 174 阅读 · 0 评论 -
Access注入 — 偏移注入
一、偏移注入使用场景二、偏移注入步骤三、偏移注入靶场讲解前面的内容是上一篇的access——cookie的内容,这里我就不多赘述。下面演示使用得是:F12点击Console使用js方法,当然还有其他方法例如插件,抓包等直接开始这里我就不多赘述,判断回显位。document.cookie="id="+escape("171 and 1=2 union select 1,2,3,4,5,6,7,8,9,10 from admin")escape()函数,里面的数据会自动进行url原创 2021-09-04 15:34:10 · 285 阅读 · 0 评论 -
Access注入 — Cookie注入
一、Cookie注入简介二、怎么修改Cookie我们知道了Cookie注入的原理~那么下一步我们该学习的就是如何修改网站原有的Cookie我们可以使用很多方法设置Cookie这2点同时满足才可以执行!!!!!!!!!!!1、只有旧的失效了(比如删了?id=170,也就是删了get传参),才会接受新的传参方式(比如这里的get传参失效,现在新的cookie传参才会生效)2、如果由一种传参换成新的一种传参,第一次一定要在URL栏刷新,才会接受新的传参,否则还是接受原来的传参,第一次之后随便在那刷新原创 2021-09-02 18:59:38 · 189 阅读 · 0 评论 -
宽字节注入(三)
$sql = 'select *from user where username =(\''.$username.'\') and password=(\''.$password.'\')';这里只是加了过滤,我要我们把前面的小括号和单引号闭合就可以了。再把后面的注释掉就是了。本来应该是 %df') and 1=1 -- qwe 但是这里是POST传参,POST传参不会解析URL编码所以我们这里用 a') or 1=1 -- qwe我们知道要绕过魔术引号的话,必须让一个字符和单引号原创 2021-09-01 16:18:57 · 143 阅读 · 0 评论 -
宽字节注入(二)
select *from user where id=("1")这里只是加了过滤,我要我们把前面的小括号和双引号闭合就可以了。再把后面的注释掉就是了。?id=1%df") and 1=1 -- qwe后面的跟上一篇的宽字节注入(一)是一个思路的。...原创 2021-09-01 01:06:58 · 103 阅读 · 0 评论 -
宽字节注入(一)
一、魔术引号是什么?我们现在要了解一个PHP的防御函数magic_quotes_gpc(魔术引号开关)magic_quotes_gpc函数在php中的作用是判断解析用户提交的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。单引号(’)、双引号(”)、反斜线(\)等字符都会被加上反斜线magic_quotes_gpc的作用:当PHP的传参中有特殊字符就会再前面加转义字符’’,来做一定的过滤原创 2021-08-29 23:26:18 · 150 阅读 · 0 评论 -
SQL注入之延时注入
掌控安全靶场地址:http://inject2.lab.aqlab.cn/Pass-13/index.php?id=1延时注入的原理适用于,无法回现和无法显示错误页面的场景利用函数sleep()让服务器休眠,通过休眠时间判断执行的语句对错,从而得到我们想要的信息我们看到界面,首先在url栏进行GET传参,但是没有任何回显,界面没有变化?id=1" and 1=2 --+然后使用延时注入?id=1" and sleep(10) --+1.判断当前数据库的长度这里我们用到了数据库里的if语原创 2021-08-28 23:42:03 · 828 阅读 · 1 评论 -
SQL注入之布尔盲注
注入全方位利用-盲注一、盲注介绍注入攻击的本质,是把用户输入的数据当做代码执行。这里有两个关键条件第一个是用户能够控制输入 1个字符第二个是原本程序要执行的代码,拼接了用户输入的数据所谓的盲注就是在服务器没有错误回显的时候完成的注入攻击。服务器没有错误回显,对于攻击者来说缺少了非常重要的“调试信息”。union select 联合查询注入updatexml 报错注入布尔盲注:因为他不需要猜字段,不需要union 只需要and or延时盲注: sleep()二、原创 2021-08-18 20:35:29 · 552 阅读 · 0 评论 -
SQL注入之Head注入(三)
Head注入之ip注入靶场环境:http://inject2.lab.aqlab.cn:81/Pass-09/index.php在平时上网冲浪中,我们经常去访问一起网站,比如我们经常访问的百度但是面对越来越多的用户来访问,如果只有一台服务器,那么肯定会崩掉,那么就有很多台服务器来处理这些请求,以此来满足用户的需求,1.通过代理来找到离用户最近的服务器。你提出请求 > 代理商(CDN)> 最近服务器处理你的请求并返回你想要的数据服务器只会记录下代理商的ip,而不会记录下你的ip,这就原创 2021-08-17 22:26:31 · 245 阅读 · 0 评论 -
SQL注入之Head注入(二)
Head注入之Referer注入靶场环境:http://inject2.lab.aqlab.cn:81/Pass-08/index.php我们可以看到核心代码是插入uagent和uname而uagent是来自HTTP_REFERER,获取上一次的URL地址(重哪一个页面跳转过来!)这里和Head(一)只是位置换了,Head(一)是插入的请求头User-Agent,而Head(二)是插入的上一次的URL地址Referer,那么方法还是一样的,就直接做最后一步获取字段值温馨提示:这里因为是用up原创 2021-08-17 22:02:52 · 203 阅读 · 0 评论 -
SQL注入之Head注入(一)
Head注入之User-Agent注入靶场环境:http://inject2.lab.aqlab.cn:81/Pass-07/index.php攻击流程正确登录时用burp抓包。测试head部分是否存在漏洞。获取信息。测试开始: 测试目标获取管理员账号密码 一些需要提前掌握的函数组成head中有访问者的各种信息,而通讯时我们若能抓到这些数据包,并将头部中这些身份信息修改则为HEAD注入。抓包实例如下(使用burp):举列就像图中User-Agent本意是表示你是哪种访问方式原创 2021-08-17 02:46:54 · 443 阅读 · 0 评论 -
SQL注入之POST注入(二)
靶场掌控安全靶场地址:http://inject2.lab.aqlab.cn:81/Pass-06/index.php查看源码我们可以发现:$sql = 'select *from user where username =("'.$username.'") and password=("'.$password.'")';发现POST(二)把转义单引号(\')变成了双引号(""),还加了小括号.那么既然如此,我们按照POST(一)的思路,把他闭合就行,双引号闭合,小括号闭合好前面的步骤和PO原创 2021-08-16 16:55:39 · 188 阅读 · 0 评论 -
SQL注入之POST注入(一)
POST注入介绍1.注入攻击的本质: 是把用户输入的数据当做代码执行。 这里有两个关键条件: 第一个是用户能够控制输入 第二个是原本程序要执行的代码,拼接了用户输入的数据2.POST注入属于注入的一种: POST注入就是使用POST进行传参的注入,本质上和GET类型的没什么区别 POST注入高危点: 登录框 查询框 等各种和数据库有交互的框 GET/POST 区别: GET传参的数据有限,比较少 POST传参的数据可以比原创 2021-08-14 22:22:13 · 676 阅读 · 0 评论 -
SQL注入之显错注入(四)
靶场掌控安全靶场地址:http://inject2.lab.aqlab.cn:81/Pass-04/index.php?id=1显错注入(三)没注入之前我们可以看到这个过滤,不仅加了双引号之外,还加了小括号。但是没事,我们像前面一样,把双引号闭合,小括号同理,也闭合。1.判断是否存在SQL注入点构建SQL语句:?id=1") and 1=1 --+ 页面正常?id=1") and 1=2 --+ 查看页面是否正常。结果页面显示不正常。存在SQL注入点。第一个")要跟前面的闭合 --+ 注原创 2021-08-13 16:58:15 · 112 阅读 · 0 评论 -
SQL注入之显错注入(三)
靶场掌控安全靶场地址:http://inject2.lab.aqlab.cn:81/Pass-03/index.php?id=1显错注入(三)没注入之前我们可以看到这个过滤,不仅加了单引号之外,还加了小括号。但是没事,我们像前面一样,把单引号闭合,小括号同理,也闭合。1.判断是否存在SQL注入点构建SQL语句:?id=1’) and 1=1 --+ 页面正常?id=1’) and 1=2 --+ 查看页面是否正常。结果页面显示不正常。存在SQL注入点。第一个')要跟前面的闭合 --+ 注原创 2021-08-12 20:09:41 · 172 阅读 · 0 评论 -
SQL注入之显错注入(二)
靶场掌控安全靶场地址:http://inject2.lab.aqlab.cn:81/Pass-02/index.php?id=1显错注入(二)没注入之前看一下源码,发现显错注入(二)比 显错注入(一)加了单引号过滤,传参变成了字符型我们来分析 一 下SQL语句@$sql = 'select *from user where id='\''.$id.'\'';除了代码和变量,其他的字符都要用引号括起来. 在PHP中代表连接符号\ 是转义符号\' 代表单引号由于这里使用了'闭合,我们直接原创 2021-08-11 22:58:26 · 224 阅读 · 0 评论 -
SQL注入之显错注入(一)
SQL注入的原理解析sql注入是指web应用程序对用户输入数据的合法性没有判断,导致攻击者可以构造不同的sql语句来实现对数据库的操作。SQL注入本质谈到SQL注入前我们先谈谈什么是注入 注入攻击的本质,是把用户输入的数据当做代码执行。SQL注入的本质用户输入的数据当做SQL代码执行SQL注入的条件,这里有两个关键条件第一个是用户能够控制输入第二个是原本程序要执行的代码,拼接了用户输入的数据然后进行执行MySQL系统自带库MySQL 中存储所有数据库名、所有表名、所有字段名原创 2021-08-10 20:05:39 · 315 阅读 · 0 评论