- 博客(63)
- 收藏
- 关注
原创 pikachu——xxe
全程:XML外部实体注入(XML,External Entity)简称:XXE漏洞,是一种标记语言XML文档结构包括XML声明,DTD(文档类型定义),文档元其中DTD是XML文件的语法规则定义文件,DTD漏洞的核心:XXE这个DTD有,可以是内部声明也可以引用外部的文档攻击原理:通过篡改 DTD 引入外部实体,触发恶意操作,因为解析器会默认加载这些实体然后我们来看这一关:先随便输入一点内容,然后bp抓包可以看到是解析xml语言的提交方式。
2025-06-18 09:38:06
160
原创 pikachu——ssrf
局部范围内的私有网络,比如局域网就是一个小范围的内网,有私有IP,并且内网受防火墙的保护,外网无法直接访问全球范围的公共网络,公有ip字母和单词代替数字,依赖dns解析转换成ip才能访问个人理解,是一种服务器访问url的工具,就像输入url获取内容,但该功能对用户提交的url没有严格的过滤,导致攻击者可以让服务器访问本不该访问的内部资源ssrf(服务器端请求伪造):ssrf的形成大多数是由服务端提供了从其他服务器应用获取数据的功能(比如curl),并且没有对目标地址做出限制。
2025-06-17 21:48:26
361
原创 pikachu——php反序列化
五个魔法函数:__construct():创建对象时调用__destruct():对象销毁时调用__toString():当一个对象被当作一个字符时用__wakeup():对象序列化之后调用__sleep():对象序列化之前调用这一关是更基础的魔法函数在本关没有利用到,这里给一个魔法函数典型利用场景pikachu例题:先去找php后端代码,打开unser.php。
2025-06-13 09:13:35
443
1
原创 dvwa14——JavaScript
先按提示尝试输入success,提交失败那用bp抓包一下 ,抓到这些,发现有token验证,说明改对token才能过返回页面f12看一下源码,发现value后面的值像密码,于是试一下md5和rot13的解密试了好几组发现,先用md5解密,再用rot13解密,这一串变成了changeme所以我们逆向把success先用rot13加密,再用md5加密,构造token修改bp里的token,放包。
2025-06-05 21:02:39
508
1
原创 dvwa13——CSP Bypass
个人理解是类似于白名单的东西,通过http头部或者<meta>标签声明,来控制网页可以加载哪些外部资源ps:Meta标签是html文档里的一种标签,用于提供网页的也就是说,CSP禁止所有未被明确允许的内容,只执行符合条件的资源关键指令:script-src:script-src指定哪些来源的JavaScript可以被浏览器加载和执行。
2025-06-05 19:10:59
348
1
原创 dvwa9——Weak Session IDs
首先通过f12打开控制台,点击GENERATE发送请求,在网络里我们得到如下界面看到响应cookie和请求cookie之间差1并且每次刷新页面(重新点击generate) 都会每个数增加1,所以说我们可以得出结论-----session ids每次增加1再次generate, 用bp抓包,抓到这些, 红框内是我们要用到的关键信息放包并退出登录, 然后去设置里面把cookie的数据清干净,然后退出重进火狐, 来到登录页面在新标签页里打开hackbar, 输入我们刚才保存的url和cookie。
2025-06-04 20:58:05
528
1
原创 dvwa7——SQL Injection
f12打开hackbar一:判断注入类型输入id=1'报错闭合单引号 ,页面恢复正常所以为单引号字符型二:开始攻击1.判断列数到3的时候开始报错,所以一共两列2.爆回显位置3.爆数据库名和版本号4.爆表名5.爆库名(2)users。
2025-06-03 20:57:49
617
1
原创 dvwa5——File Upload
在dvwa里建一个testd2.php文件,写入一句话木马,密码passwordantsword连接直接上传testd2.php文件,上传成功。
2025-06-03 11:17:35
444
2
原创 dvwa4——File Inclusion
先随便点开一个文件,可以观察到url栏变成这样,说明?page=是dvwa当前关卡用来加载文件的参数我们查看源码 ,没有什么过滤,直接尝试访问其他文件在url栏的page处做一些修改,我们改动page后为如下代码。
2025-06-02 12:39:31
531
1
原创 dvwa3——CSRF
先尝试change一组密码:123456修改成功,我们观察上面的url代码将password_new部分与password_conf部分改成我们想要的密码:4321新建一个页面打开,发现密码修改成功。
2025-05-30 09:35:59
1651
1
原创 dvwa2——Command Injection
先输入 127.0.0.1,这一串地址是,代表了本地机器(攻击者自己的计算机),输入这个的目的是确保命令被执行在本机上在电脑里找到文件dvwaPage.inc.php,ctrl-f 定位utf-8,更改所有匹配项为GBK,然后刷新页面,发现乱码恢复正常。
2025-05-29 11:26:20
422
1
原创 dvwa1——Brute Force
随便猜测一组用户名的密码,login的时候用Burp Suite抓包然后send to the intruder,用 Clear§ 清除掉系统定义的字段,然后 Add§ 我们要爆破的用户名和密码,Attack type 选择 Cluster bomb 集束炸弹学习一下。
2025-05-28 08:48:57
663
1
原创 sqli-第三十二关——bypass addslashes
先查看源码观察转义函数 check_addslashes()里面的三行表达式转义了反斜杠:假设我们输入a\b先在preg_quote进行第一层转义,将 \ 转义为两个反斜杠,输出 /\\/然后再替换字符串 \\\\\\,实际表示出三个反斜杠,因为第一\是php解析层,解析完变成 \\\\,第二圈是正则表达式解析层,所以实际表示三个反斜杠所以会输出a\\\b;反斜杠( \ )在编程中是转义字符,可以让后面的特殊字符失去其特殊意义例如,\'表示 " 这是一个普通的单引号,不是SQL语句的结束符 "
2025-05-27 11:46:20
524
原创 sqli_labs第二十九/三十/三十一关——hpp注入
hpp(http parameter pollution)注入中,可以通过在hppt的请求中注入多个同名参数来绕过安全过滤原理:php默认只取最后一个同名参数比如在这一关里,可能对第一个id参数进行消毒处理,但php实际执行的时候使用了第二个没被消毒的id参数。
2025-05-27 10:03:14
347
1
原创 sqli-labs第二十八关——Trick with ‘union select‘
这一关的提示和上一关一样,所以我们查看源码,屏蔽了注释符,空格,union,select等关键词分析这一条源码的几个新增添符号。
2025-05-26 21:10:51
671
原创 sqli-labs第二十七关——Trick with select&union
进去之后,可以看见提示这一关新屏蔽了union 和 select,查看源码确定:/*,--+,#,spaces,union,select,union,select的大小写均被屏蔽了。
2025-05-26 10:06:23
469
1
原创 sqli-labs第二十六关——Trick with comment&space
可以看到这一关过滤了所有的 space(空格)和 comment(注释),or和and,通过几次尝试,也可以发现这一关不仅过滤了url解码之后的空格,还过滤了一些特殊字符,如\ / /* # \\ -- ,可以在这一关的php源码里面看到所以: %0a——换行符%0b——同a,较少被WAF检测%0c——换页符%0d——回车符%09——水平制表符()——括号,eg:以上url码均可以代替空格,并且我们还可以使用报错注入,这种注入方法使用空格比较少并且这一关的or和and我们不能用双写绕过,因为双写绕过的
2025-05-25 18:43:15
472
1
原创 sqli-labs第二十五/25a关——Trick with or&and
查看源码可以发现这一关的 or 和 and 等关键词被屏蔽了,可以用以下方法解决关键词被过滤的问题or → oorr这一关的最下面有输入提示,可以以此判断解决是否有效。
2025-05-25 17:13:22
198
1
原创 sqli-labs第二十四关——二次注入
先创建一个新账号leee 密码12345再创建一个恶意攻击账号leee'# 密码 54321,登录修改密码为00000用这个密码登录登陆成功!!!原理是恶意用户名后面的 ’# 闭合并且注释掉了后面的所有内容,可能执行的代码由前者变为后者。
2025-05-22 18:12:10
143
原创 sqli-labs第二十三关——过滤注释符
尝试输入id=1,id=1',id=1",id=1'),id=1"),只有单引号的时候产生报错尝试闭合?id=1' --+仍然报错,闭合失败查看这一关的源码发现注释符号被,所以尝试构造语句注释掉后面的内容成功闭合。
2025-05-22 16:15:58
325
1
原创 sqli-labs第二十一/二十二关——POST-base64
先像前几关一样输入一组账户名和密码进行测试,得到如下回显我们可以判断出来这一关还是在cookie上注入,把cookie的数据与前一关作对比发现uname后面的参数被加密了,下面介绍一下。
2025-05-22 14:06:44
440
1
原创 sqli-labs第二十关——POST—cookie注入
输入密码,bp抓包返回这个页面对此页面再次进行抓包单引号时产生报错,尝试闭合闭合成功。
2025-05-21 20:37:46
431
1
原创 sqli-labs第十九关——POST-referer注入
同理前一关,bp抓包这里尝试referer注入判断流程和前一关一样单引号,尝试报错注入。
2025-05-21 20:07:54
202
1
原创 sqli-labs第十八关——POST-UA注入
先在用户名和密码框尝试判断,发现都得不到需要的回显所以查看源码可以发现username和password的输入后端都做了检查,没法直接注入,所以我们尝试uagent注入。
2025-05-21 19:11:52
795
1
原创 sqli-labs第十七关——POST注入点
测试四个代码,页面均无反应所以我们更换注入点的位置 ,再密码框注入第二行成功得到不同的回显,得出结论:注入点在密码栏, 是单引号字符型闭合成功。
2025-05-21 11:34:36
235
原创 sqli-labs第十五/十六关——POST布尔盲注
尝试了几种测试方法,页面都没有回显,所以尝试布尔盲注可以观察到 前一行注入成功PS:用admin的原因是很多系统都可能存在admin(管理员)账户,是最常见的特权用户名。
2025-05-21 02:23:08
216
1
原创 sqli-labs第十四关——“POST报错注入
和上一关一样,输入如下代码,回显报错,其余类型无回显判断为双引号字符型,尝试闭合判断正确,成功登录。
2025-05-21 01:44:47
148
1
原创 sqli-labs第十三关——’)POST报错注入
由1,1’,1‘),1”输入的报错,我们尝试闭合1')闭合成功(其他几种闭合均报错)但无回显得出结论:是单引号括号类型,并且可以尝试报错注入。
2025-05-20 16:43:59
504
1
原创 sqli—labs第六关——双引号报错注入
首先测试?id=1,?id=1',?id=1",页面回显均无变化所以我们采用简单的布尔测试,分别测试数字型,单引号,双引号得出结论:第六关为字符型,双引号闭合。
2025-05-14 21:20:33
511
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人