前言:
眼前看官们对“网络安全php”都比较着重,小伙伴们都需要知道一些“网络安全php”的相关知识。那么小编同时在网摘上搜集了一些关于“网络安全php””的相关知识,希望小伙伴们能喜欢,看官们一起来学习一下吧!下面一系列的漏洞都可以对PHP或Laravel框架写的站点造成威胁。有一些广为人知、攻击手段简单,所以很容易被利用来进行攻击。有一些漏洞需要特别关注,避免在你的站点出现。
1. SQL 注入
SQL注入可能是最知名且常见的漏洞了。
说白了,它允许攻击者将SQL语句注入到你未经处理的代码中。
如果你的代码像以下这样:
$post_id = $_POST['post_id'];$sql = "DELETE FROM posts WHERE user_id = 1 AND id = $post_id";\DB::statement($sql);
如果有人在提交 post_id 时输入 1 OR 1 ,你的语句会组合成这样:
$sql = "DELETE FROM posts WHERE user_id = 1 AND id = 1 OR 1";
最终你的语句执行起来就是:删除所有用户的所有帖子!
2. XSS (跨站脚本攻击)
跨站脚本攻击与 SQL 注入类似。它允许注入 HTML / JavaScript 代码到你的 HTML 页面中 。
想像一下类似 Google 这样的页面,用户可以在其中输入搜索查询。
在结果页面上,您将显示他们正在搜索的内容:
<?php echo 'You searched for: ' . $_GET['search_query']; ?>
如果攻击者会输入这样的内容:
<script>alert('surprise!');</script>
JavaScript 代码将被浏览器执行,用户会看到弹出窗口 “surprise!” 。
攻击者可以做些什么呢,可以窃取 cookies ,重定向用户到其他网站,窃取密码。什么,你的密码是 123456 ?
3. CSRF (跨站请求伪造)
例如在你的网站上有用户可以用来删除账户的链接.
<a href="">delete account</a>
猜测以下如果攻击者提交一个如下这样的评论会发生什么:
<img src=””> lol :D
用户将在查看此评论的时候删除他们的账号. 让我们继续发表评论.
4. 点击劫持
这种攻击类型试图让你点击你不想要的地方。例如通过在其他按钮顶部放置不可见的 Facebook like 按钮。
另一个例子是在 <iframe> 中打开 Facebook ,并将这个 iframe 放置在 JavaScript 代码中,所以无论何时你点击某个地方,你总是会点击到 Facebook 页面上的分享按钮。
5. 上传文件到 public_html
这种攻击形式是,攻击者上传 .php 文件或者其他可执行文件到你的 public_html 目录。.
想象一下如果你的网站有图片上传功能,同时没有检测上传文件的类型。我仿佛看见一场上传风暴扑面而来...
6. ZIP 炸弹
一些网站允许用户上传 .zip 文档,然后进行解压缩和再处理。但这里存在一个大问题。
很有可能这个 .zip 文档大小仅有 42 KB,但在解压后会占用 4718592 GB 的空间。你可以把它想象成一颗原子弹。
样例文件
7. file_get_contents()
使用这个函数可以轻松的读取文件内容:
echo file_get_contents('');
但是你如果让攻击者输入他想要的,他可以从你服务器进入的文件,例如:
echo file_get_contents('.env');ORecho file_get_contents('secret-code.php');
这个函数将会从你的服务器读取文件和展示内容给攻击者。
这个漏洞是很难找到的,就像皮卡丘在宠物小精灵之中一样难找。
标签: #网络安全php