web端攻击基础

栏目: 数据库 · 发布时间: 7年前

内容简介:web端攻击基础

我们在这里不讨论攻击手段,而是只是谈谈基本的攻击预防,想当初寡人也想尝试着去做一些黑客入侵,然而现今的防御手段已经大大升级,目前网上的大多数攻击教程都基本失效了。。。

之所以会想到写这个博文不是说凑文章数、炒冷饭,而是最近在公司的一个业务中发现了这样的bug,我自己成功的对公司的产品进行了 Form表单注入 ,虽然是个比较低级的bug,但是难保在繁重的开发任务中会每一个环节都那么仔细,总会有疏漏。

常规的攻击方法baidu一下你就知道,啊呸,不对,常规的攻击方法 baidu一下你确实就能知道,无非就以下几种

  • url注入
  • form注入
  • 等(卧槽 这个“等”是什么鬼)

首先我们开看看URL注入

URL注入

URL注入一般用于asp或者 php 页面。

相较之下 URL注入 很简单,有些页面为了方便直接将必要参数(例如ID等数据)通过URL参数传过去

懒得自己截图了,于是从友链的博客里偷一张 web端攻击基础

对应这样的后台 SQL 也许是这样的

SELECT ... FROM employer WHERE jopid = [URL.jobid]

甚至我们可以输入一些特定的数据库操作语句, 例如我们将URL后方的参数改为

xxx.cfm?jobid=1; delete from employer

后台的SQL就会变为

SELECT ... FROM employer WHERE jopid = 1; delete from employer;

虽然格式有些混乱但是依然没有运行错误, 结果就是表中所有数据都被意外删除了.

在我们刚开始攻击的时候可能不清楚对应服务器的数据库系统以及后台语言, 但如果没有对错误进行catch而是直接抛给用户的话, 那么Attacker就可以了解到对应配置(数据库系统及服务器系统等), 更加方便其进行攻击。

常用的URL注入:

  • 1' or '1'='1 判断是否有注入点
  • 根据页面返回情况,对有注入点的页面进行深层次的 注入判断 和 SQL注入

具体细节我就不说了,有兴趣的可以去baidu、google、bing

form表单注入

继续盗图

web端攻击基础

这样一个登陆页面

后台SQL代码假设是:

SELECT ... FROM user WHERE name=xxx and password=xxx

正常情况我们会输入合法的账号和密码并提交, 但是Attacker会在输入框中使用各种SQL使得后台的SQL出现异常, 比如:

用户名随意输入

密码输入xxx' or 'a'='a

那么结果就是 后台SQL语句被篡改

SELECT ... FROM user WHERE name='abcdef' and password='xxx' or 'a'='a'

显然上述SQL是绝对成立的, 因此可以顺利进行后方的业务逻辑, 如此Attacker在不知道密码的情况下就可以使用任何用户的身份登录

SQL注入的预防

1.永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双”-“进行转换等.

2.永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取.

3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接.

4.不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息.

5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装,把异常信息存放在独立的表中.

常现的bug

  • <input />
  • <textarea>
  • <div contenteditable="true"></div>

以上三个是最容易导致SQL注入的情况,简单的说就是 凡是页面上 允许用户输入的 都有可能成为 Attacker的攻击处

比如 以下情况:

  • <script>alert(1)</script>
  • <script>alert(1)</script>

如果后台没有进行过滤特殊字符, 或者对不可预料的输入进行编码的话 后果


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法V

算法V

塞奇威克 (Robert Sedgewick) / 中国电力出版社 / 2003-12 / 54.0

Robert Sedgewick再次给我们提供了重要的流行算法的全面介绍。这次的重点是图形算法,图形算法在很多应用中已日益重要,诸如网络连接、电路设计、调度、事务处理以及资源分配。本书中,Sedgewick同样用简洁的实现将理论和实践成功地结合了起来,这些实现均可在真实应用上测试,这也正是他的著作多年来倍受程序员欢迎的原因。   本书是Sedgewick彻底修订和重写的丛书中的第二本。第一本......一起来看看 《算法V》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试