- 博客(30)
- 收藏
- 关注
原创 网安入门18-XSS(靶场实战)
实测也可以不用注释后面的">,说明HTML属于弱类型,校验不严格,另外查看这关源代码,调用的函数是 htmlspecialchars() 它的作用就是让 < 和 > 被HTML实体化编码。上面的实体化编码无法绕过了,现在的目标转化为下面一行,那就是闭合!还有一个问题就是闭合这两个引号,闭合前面的,注释或者闭合后面的,这里跟上一关的标签闭合不一样,是比较严格的,不闭合属性中的值会无法执行。查看源代码,上面一行是查询的回显,可以看到被实体化编码了,下面一行被双引号包裹。,这些就是 HTML 实体编码。
2024-02-27 10:20:47
1279
原创 网安入门17-XSS(打Cookie)
来到这个实战网站,两个浏览器注册两个账号zyh666,和zyh999,由于同源策略,Edge和火狐登录同一URL不共享cookie。接下来开始攻击,假设这个钓鱼链接被zyh999点击,那么我们就收到了zyh999的Cookie!此时4个步骤以及完成了第一步,接下来的中间人可以选择一个云服务器,也可以用一个XSS平台。反射型也是一样的,在Edge中存好,用Chrome打开,弹的是两个不同的Cookie。查看代码选项,恶意JS选择第一条payload复制到网站的URL中,构造钓鱼链接。实战打Cookie成功。
2024-02-27 09:26:25
1162
原创 网安入门16-XSS(三种类型)
XSS漏洞,全称跨站脚本攻击(Cross-Site Scripting),是代码注入的一种。它允许恶意用户将代码注入到网页上,原理是攻击者将恶意代码注入到可信网站的页面中,当用户浏览该页面时,恶意代码就会被浏览器执行,从而达到攻击者的目的。盗取用户敏感信息,如Cookie、账号密码等;控制用户浏览器,进行钓鱼攻击、重定向等;篡改网页内容,进行欺诈等。反射型XSS:攻击者将恶意代码通过URL参数、表单提交等方式注入到目标网页中,当用户访问该网页时,恶意代码就会被执行;存储型XSS。
2024-02-26 10:59:25
1382
原创 网安入门14-文件包含(file:// )
文件包含漏洞是指应用程序在加载文件时,允许用户控制被加载文件的名称,从而导致恶意代码的执行或敏感信息的泄露。本地文件包含漏洞(LFI):攻击者可以包含服务器本地的任意文件,包括系统文件、配置文件、数据库文件等。远程文件包含漏洞(RFI):攻击者可以包含远程服务器上的任意文件,包括其他网站的文件、恶意网站的文件等。执行任意代码:攻击者可以通过包含恶意的 PHP 脚本或其他可执行文件来执行任意代码,从而控制服务器。窃取敏感信息:攻击者可以通过包含包含敏感信息的文件来窃取用户的密码、信用卡信息等敏感信息。
2024-01-11 12:19:31
1183
原创 网安入门13-文件上传(htaccess,其他绕过)
把文件名1.php改成1.php.或1.php_(下划线为空格),这种命名方式在windows系统里是不被允许的,所以需要在burp之类里进行修改,然后绕过验证后,会被windows系统自动去掉后面的点和空格,但要注意Unix/Linux系统没有这个特性。htaccess文件是一个用于Apache Web服务器的配置文件。简单理解就是我们自己更改了对方服务器的一个“规定“这里拿来进行绕过上传的防御规则,如下图,第三步还有第四步的顺序可以更换。神奇的事情发生了,再去访问我们的图片马,已经按照php解析了。
2024-01-10 12:22:50
1023
原创 网安入门12-文件上传(黑白名单,00截断)
比如发送的htp包里把文件名改成test.asp.或test.asp_(下划线为空格),这种命名方式在windows系统里是不被允许的,所以需要在burp之类里进行修改,然后绕过验证后,会被windows.系统自动去掉后面的点和空格,但要注意Unix/Linux系统没有这个特性。原因在于GET传参和POST传参不同,post数据的特点是我们把包发过去之后,服务器会进行URL二次编码,编码后的参数到了后端再解码执行,相当于传到服务器的是%25%30%30,到了后端还是%00。
2024-01-09 12:30:39
2208
原创 网安入门11-文件上传(前后端绕过,变形马图片马)
现在这个zyh.php既有图片的功能,又有木马的功能,当他后缀为jpg时,就为图片,当他后缀为php时,就为木马。我们思路就来了,上传一个php,burp抓包改Content-Type,改成image/jpeg就ok啦。如果开发者限制了上传文件的大小,例如一张图片至少要大于200kb,那我们就要用到图片木马。思考:他只让我传一个.jpg的图片,我想传一个.php的木马,两者什么区别。这一关我们故技重施发现不行了,那么就不只是前端校验了,后端也有校验。改了之后,就回显了上传成功之后的相对路径。
2024-01-08 11:49:27
1102
原创 网安入门10-文件上传(中国蚁剑)
文件上传漏洞是一种常见的安全漏洞,它出现在Web应用程序中,允许攻击者上传恶意文件到服务器。这种漏洞可能导致严重的安全问题,例如服务器被入侵、数据泄露和应用程序功能受损。文件上传漏洞通常由以下几个原因导致:不充分的文件类型验证:Web应用程序应该仅允许用户上传特定类型的文件,例如图片、文档等。如果验证不严格,攻击者可能会上传恶意文件,如脚本或可执行文件。不安全的文件名处理:攻击者可能会尝试使用特殊字符或路径遍历技术来上传文件到非预期的目录。这可能导致对服务器上其他文件的访问或覆盖。
2024-01-07 11:37:57
924
原创 网安入门09-Sql注入(绕过方法梳理)
SQL注入ByPass是指攻击者通过各种手段绕过应用程序中已经实施的SQL注入防御措施,例如输入恶意数据、修改请求头等方式,绕过过滤、转义、限制等操作,从而成功地执行恶意SQL语句。攻击者使用SQL注入ByPass技术可以让应用程序的防御措施失效,使得SQL注入攻击成功。因此,防范SQL注入攻击需要采取综合的安全措施,包括正确的SQL语句编写、使用参数化查询、限制用户输入、过滤和转义特殊字符等。另外,如果substr被过滤,可以用mid()来代替, 还可以用right(),left()
2024-01-07 10:57:35
493
原创 网安入门08-Sql注入(报错注入&宽字节)
如果数据库使用的的是GBK编码而PHP编码为UTF8就可能出现注入问题,原因是程序员为了防止SQL注入,就会调用几种安全查询函数,将单引号或双引号进行转义操作,转义无非便是在单或双引号前加上斜杠(\)进行转义 ,但这样并非安全,因为数据库使用的是宽字节编码,两个连在一起的字符会被当做是一个汉字,而在PHP使用的UTF8编码则认为是两个独立的字符,如果我们在单或双引号前添加一个字符,使其和斜杠(\)组合被当作一个汉字,从而保留单或双引号,使其发挥应用的作用。当某字符的大小为两个字节时,称其字符为宽字节.
2023-12-25 14:23:54
537
原创 网安入门07-Sql注入(二次注入)
黑盒测试:看不到后端代码,只能依靠前端页面显示来判断是否有注入点白盒测试:可以看到后端代码,进行代码审计分析注入点白+黑:既可以看到后端代码,也可以看到前端页面的回显实战中黑盒占80%,客户提供源码白盒占5%,通过漏洞挖出源代码白+黑15%
2023-12-25 13:55:14
490
原创 网安入门06-Sql注入(时间盲注&万能密码)
以第9关为例:无论输入任何参数,页面显示一样,没有两种状态可以判断,无法使用布尔盲注万能密码Less11使用恒成立的sql语句来进入后台还可以继续手工注入 Less12先判断是否存在注入点再找出显示位(回显点)Less15,16不提供报错信息,需要布尔盲注,不深究了
2023-12-25 11:22:07
520
原创 网安入门00-OWASP Top 10 2021
OWASP(Open Web Application Security Project)翻译为“开放式Web应用程序安全项目”。它是一个非营利组织,致力于提高Web应用程序的安全性。OWASP提供了一系列资源,包括安全指南、工具和教程,帮助开发人员和安全专业人员提高Web应用程序的安全性。OWASP Top 10是OWASP发布的一份针对Web应用程序的安全漏洞报告。该报告列出了Web应用程序中最常见和最危险的10种安全漏洞。
2023-12-17 23:38:50
987
原创 网安入门05-Sql注入(布尔盲注&SqlMap)
常规:python sqlmap.py -u"127.0.0.1/sqllabs/Less-5/?id=1"python sqlmap.py -u"127.0.0.1/sqllabs/Less-5/?id=1" --tables -D security
2023-12-13 23:43:39
2066
原创 网安入门04-Sql注入(联合查询注入)
SQL注入漏洞是一种常见的Web应用程序安全漏洞,它允许攻击者在应用程序的SQL查询中插入恶意代码。这种漏洞可能导致数据泄露、数据篡改、身份冒充和其他严重的安全问题。SQL注入漏洞通常发生在应用程序未对用户输入进行充分验证和过滤的情况下。攻击者可以通过在输入字段中插入特殊字符和SQL代码,来操纵应用程序生成的SQL查询。这可能导致未经授权的数据访问、数据修改或执行恶意操作。
2023-12-13 23:34:41
430
原创 网安入门03-HTTP请求,编码
X-Forwarded-For: 等价于Client-Ip X-Forwarded-For 请求头用于标识客户端的原始IP地址,特别是在通过代理服务器或负载均衡器等中间设备进行通信时。当请求从客户端传递到代理服务器时,代理服务器会将客户端的IP地址添加到X-Forwarded-For头中,以便目标服务器知道请求的来源。Accept: Accept 请求头用于告知服务器客户端可以接受哪些媒体类型。这可以帮助服务器根据客户端的需求提供适当的内容。例如,客户端可以指定它可以接受的图像格式(如JPEG或PNG
2023-12-13 12:44:34
484
原创 网安入门02-信息收集
Whois查询[站长之家](https://whois.chinaz.com/)[在线子域名二级域名查询工具](http://tools.bugscaner.com/subdomain/)
2023-12-10 11:20:27
416
原创 网安入门01-行业黑话
CVE:公共漏洞和暴露,Common Vulnerability & Exposures。0DAY:零日漏洞或零时差漏洞,通常是指还没有补丁的漏洞Zero-dayexploit。POC:证明一个漏洞真实存在,往往用于漏洞报告 Proof of Concept。EXP:漏洞的完整利用工具,演示攻击漏洞,详细说明如何攻击Exploit。nDAY:进过一段时间的漏洞,已经有了补丁,可能只适用于攻击旧版本。payload:攻击载荷,也就是攻击语句,功能是建立与目标的连接。
2023-12-10 11:04:04
460
原创 网安入门25——SSRF
SSRF (Server-Side Request Forgery,服务器端请求伪造) 是一种由攻击者构造请求,由服务端发起请求的安全漏洞,一般情况下,SSRF攻击的目标是外网无法访问的内网系统,也正因为请求是由服务端发起的,所以服务端能请求到与自身相连而与外网隔绝的内部系统。利用这个漏洞,可以从漏洞服务器发出伪造的请求到目标服务上,目标服务可以是内网的各类服务,可以使用不一样的协议,并根据回显来判断攻击是否成功(如果是盲打的话,就不用回显了:))。可以对内网,本地进行端口扫描,查看端口的关闭状态;
2023-10-25 11:12:01
112
原创 网安入门24——PHP代码审计
当字符串与数字使用==进行比较时,会将字符串类型转换成数字型再进行比较(如果两边都是字符串,则双方都转换为数字型),只比较转换后的数值的大小。1,2,3点总结:字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。、=都存在和==相同的弱类型,原理相同!最后就是对应的强类型关卡,先比较类型的话,就只能用数组了。这段代码与上一段不同,变成了两个等号,上一关的方法只有。是弱类型校验,只校验值不校验类型。payload,代码,如图。payload,代码,如图。
2023-10-16 13:51:09
126
原创 网安入门22——RCE(代码执行Eval)
error_reporting(0) 使程序不报错,降低敏感性。preg_match() 用来正则匹配,检测$c中有没有flag。这部分主要设置及代码审计,要先了解一些php函数。拿到这道题,是一个白盒代码审计。eval() 执行c命令。
2023-10-13 11:30:52
347
原创 网安入门21——RCE(绕过方法梳理)
所以前面的“IFS”可以改为 “$IFS$9”。less:和more类似,但其优点可以往前翻页,而且进行可以搜索字符。9表示当前系统shell进程的第九个参数,通常是一个空字符。tac:从最后一行倒序显示内容,并将所有内容输出。cat:由第一行开始显示内容,并将所有内容输出。more:根据窗口大小,一页一页的现实文件内容。是Linux存在的环境变量,是内部字段分隔符。反引号可以将ls列出的内容全部cat输出一遍。nl:类似于cat -n,显示时输出行号。目标是获取flag.txt的内容。
2023-10-04 14:02:52
566
原创 网安入门20——RCE(命令执行Ping)
源码分析:源代码中先对操作系统进行校验,如果是Windos默认ping4次,Linux系统则是现需要手动设置发包次数,传入的ip未作处理,直接拼接到系统命令中,未作任何处理,最后用shell_exec()执行命令,与system()命令类似,可以直接执行系统层面命令。这种漏洞可能导致严重的安全问题,因此开发人员需要采取适当的防御措施来防止命令执行漏洞的发生。为了防止命令执行漏洞,开发人员应该对用户输入进行严格的验证和过滤,确保输入的数据符合预期的格式和范围。命令执行是在目标服务器上任意执行系统命令。
2023-10-02 11:53:11
1846
原创 网安入门19-CSRF
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。
2023-09-12 12:19:22
81
原创 ZZULI OJ 1129:第几天 C++(带你看懂每一步)
1129: 第几天题目描述 你知道,2012-1-1是该年的第1天,而9999-9-9呢?给你一个具体的日期,计算该日期是该年的第几天。输入 输入一个日期,格式为:Year-month-day。year是小于9999的正整数。输出 一个整数,表示该日期是该年的第几天。样例输入2012-3-1样例输出61题目链接 ZZULI OJ 1129题解及注释 (C++)#include<iostream&...
2022-02-15 13:35:37
452
原创 ZZULI OJ 1128: 课程平均分 C++ (带你看懂每一步)
1128:课程平均分题目描述期末考试结束,班主任拿到了本班学生的成绩汇总表,由m行n列组成(本班共有m名学生,本学期有n门课程),每行是一个同学的n门课程成绩,请编写程序,计算并输出每门课的平均分,结果保留2位小数。输入 第一行是两个整数m和n,表示本班的人数和本学期课程数目,0<m<=1000,0<n<=10。接下来是成绩单,有m行,每行n个实数。输出输出一行,有n个实数,保留两位小数,表示每门课的平均分,用空格隔开。样例输入5 4...
2022-02-15 11:43:40
681
原创 ZZULI OJ 1127: 矩阵乘积 C++ (带你看懂每一步)
1127: 矩阵乘积题目描述计算两个矩阵A和B的乘积。输入 第一行三个正整数m、p和n,0<=m,n,p<=10,表示矩阵A是m行p列,矩阵B是p行n列;接下来的m行是矩阵A的内容,每行p个整数,用空格隔开;最后的p行是矩阵B的内容,每行n个整数,用空格隔开。输出 输出乘积矩阵:输出占m行,每行n个数据,以空格隔开。样例输入2 3 41 0 10 0 11 1 1 34 5 6 78 9 1 0样例输出9...
2022-02-06 16:35:35
665
1
原创 ZZULI OJ 1126: 布尔矩阵的奇偶性 C++(带你看懂每一步)
zzulioj 1126: 布尔矩阵的奇偶性 一个布尔方阵具有奇偶均势特性,当且仅当 每行、每列总和为偶数,即包含偶数个1。如下面这个4*4的矩阵就具有奇偶均势特性 编写程序,读入一个n阶方阵并检查它是否具有奇偶均势特性。如果没有,你的程序应当再检查一下它是否可以通过修改一位(把0改为1,把1改为0)来使它具有奇偶均势特性;如果不可能,这个矩阵就被认为是破坏了。
2022-02-03 17:28:41
840
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人