MySQL降龙十八掌,第六掌内容:利涉大川之MySQL索引的使用与优化(附含MySQL8.0隐藏索引),了解详情>>
0

我的帖子

个人中心

设置

  发新话题


1. SQL 注入
或许这是最知名的漏洞. 从根本上来说, 他允许网站***者注入 SQL 到你的代码中. 如果你的代码就想这样:
  • $post_id = $_POST['post_id'];

  • $sql = "DELETE FROM posts WHERE user_id = 1 AND id = $post_id";

  • \DB::statement($sql);
如果有人在 email 字段输入: 1 OR 1. SQL 语句将像以下这样:
  • $sql = "DELETE FROM posts WHERE user_id = 1 AND id = 1 OR 1";
基本上你在说的是 --- 请删除所有用户的所有帖子.
2. XSS (cross site scripting)
跨站脚本***类似于SQL注入.它会向HTML页面注入HTML/JavaScript代码.
想象一个类似于Google的,用户可以输入并进行搜索的页面,在搜索结果显示页面,如果你用如下的方式显示用户搜索的结果:
  • <?php echo 'You searched for: ' . $_GET['search_query']; ?>
如果***者尝试输入类似如下的代码:
  • <script>alert('surprise!');</script>
浏览器将会执行这句JavaScript 脚本,用户将会看到一个显示着"surprise!"的弹窗.
***者利用这个漏洞,可以窃取浏览器的cookie,强制用户跳转到其他网站,窃取用户的密码.什么?你的密码是123456?
3. CSRF (跨站请求伪造)
例如在你的网站上有用户可以用来删除账户的链接.
  • <a href="http://your-website.com/delete-account">delete account</a>
猜测以下如果***者提交一个如下这样的评论会发生什么:
用户将在查看此评论的时候删除他们的账号. 让我们继续发表评论.
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('https://some-website.com/friend-list.txt');
但是你如果让***者输入他想要的,他可以从你服务器进入的文件,例如:
  • echo file_get_contents('.env');
OR
  • echo file_get_contents('secret-code.php');
这个函数将会从你的服务器读取文件和展示内容给***者。
这个漏洞是很难找到的,就像皮卡丘在宠物小精灵之中一样难找。
总结
想要在这场漏洞之战中赢得胜利,最好的方法就是深入了解它们。



666




‹‹ 上一贴:【已解决】php怎样实现显示服务器上的word和Excel文档 ...   |   下一贴:【教程经验】php常见错误分享 ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com