BlBana's BlackHouse.

PHP CVE-2019-11043 RCE工具分析

下午看见了CVE-2019-11043漏洞的利用工具,简单的把phuip-fpidam工具看了一下,利用CVE-2019-11043控制Nginx fastcgi_param的PHP_VALUE变量对PHP配置改写,再在加载PHP扩展时写入Webshell。

Mysql报错注入原理

导语

一直使用mysql的报错注入,但是不清楚它的原理是什么,为什么会出现报错,我们使用到了floor(),rand(),count(*)三个函数,每个函数起到了什么作用,经过查阅资料,搞懂了报错的原因,现在总结一下。

文件上传漏洞(一)


### 客户端检测

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<html>
<head>
<meta charset="UTF-8">
<title>图片上传</title>
<script type = "text/javascript">
function checkFile(){
var flag = false; //是否可以上传的标志位
var str = document.getElementById("file").value; //获取文件名
str = str.substring(str.lastIndexOf('.') + 1); //获取扩展名
var arr = new Array('png','jpg','gif','bmp');
for(var i = 0; i < arr.length; i++){
if(str == arr[i]){
flag = true;
}
}
if (!flag) {
alert('文件不合法!!');
}
else{
alert('文件上传成功');
}
return flag;
}
</script>
</head>
<body>
<form action = "upload.php" method = "post" onsubmit="return checkFile()" enctype = "multipart/form-data"> <!--在onsubmit事件中验证表单后 必须加上return 否则表单会继续提交-->
<input type = "file" name = "file" id = "file" />

<input type = "submit" value = "提交" name = "submit" />
</form>
</body>
</html>

客户端验证代码如上所示,在测试的过程中,需要注意的问题是,在表单事件onsubmit中,需要写上return,此时当在JS代码中验证文件后缀名失败以后,可以阻止表单继续上传,否则无论JS代码如何验证,文件都会成功上传到服务器。