来自初级培训的截图,当然可以百度一个一个关键字去理解。如图,本文主要是对一些尝见的web攻击做一下自己的理解并写出来和大家分享,文笔有限,写的不好请大家多多包涵。
个人觉得理解了web攻击的方法,配置起来也比较容易。
1.SQL注入攻击----攻击服务器
SQL注入攻击就是用户在提交信息时,提交了不良的参数,代入了数据库查询,获取到“非法用户”想要的信息,通常是获取web后台的管理员用户名和密码。
正常用户会数据数字1,2,3等等
假如有个人输入了 1' union selectuser,password from users # 。就会一并查询。获取到了网站的账户和用户名
常见发生的SQL注入的地方就是URL中(get注入),填写账号或者密码的地方(POST注入),搜索框(get注入或post注入)。
演示网站的查询语句是这样的。通常要考虑到语法完整。当$id=1' union select user,password from users # 时就会变成 ,
select first_name,last_name from users whereuser_id = '1' union select user,passwordfrom users # '
达到违背设计网站初衷的问题。
2.XSS攻击----攻击客户端(用户)
XSS叫跨站脚本攻击,大致分为存储型XSS和反射性XSS,可以这么理解,反射性XSS就是”一次性“利用的,存储型是可以存储到网站,任何人访问到该网站有XSS脚本的URL就会被触发。XSS攻击的大部分目的是用来获取管理员的cookie信息,有了cookie信息就相当于有了管理员的账号和密码,不过cookie是有时效性的。
反射型演示:
发现我们输入的信息都在URL上(图上是自动转换成URL编码),所以是反射性,只有把特定的URL发送给某些人才有效。(通常是通过社工发送给网站管理员)。这里我们就可以输入
从源码可以看出我们插入的数据被识别html代码,所以Message是空的。所以存储型XSS比反射型XSS危害性更大,只要插入XSS代码的页面被任何人访问到,就会触发。而反射性要黑客构建好URL,然后发送给受害者去点击URL触发XSS。
3.CSRF攻击----攻击客户端(用户)
跨站请求伪造,通过客户浏览到有CSRF漏洞的网页,触发了对一些网站(前提是客户已经在这个网站登陆过了。)发出请求信息(操作),例如转账,发文章,发广告等。做出一些用户并不想要的操作,过程一般是自动完成。
这里因为我不会javascript代码,我就用html写出来,通过点击的方式,模拟用户访问了有CSRF漏洞的网站,我也已经登陆我要做操作的网站。演练CSRF的操作是修改用户的密码。
构建CSRF的代码,代码如下:
这里我通过设置了域名访问来把含有CSRF漏洞的网站和漏洞演练网站区分。写好的代码是这样的
这里我已经登陆状态的了
通过点击来模拟有“受害者”访问了含有CSRF的网站。点击之后,页面提示密码已经修改成功,修改成代码中的admin,当然这个弹出页面都是可以控制的,只是知识有限,写不出来。这就是CSRF。
4.系统命令攻击----攻击服务器
通常网站中有调用操作系统命令的地方,让用户提交数据,执行操作系统命令,例如网站提供ping测试。和SQL注入有点类似,只不过这里注入的是操作系统命令,SQL注入的是SQL命令。
编码有问题,google浏览器没找到调编码的地方。。将就看一下。这里就是提供了一个ping测试,正常输入127.0.0.1。返回了ping 127.0.0.1 的结果。输入构造好的系统命令,就会达到意想不到的结果,输入 127.0.0.1 & whoami,获取到了当前使用的用户是system
5.文件包含----攻击服务器
文件包含就是脚本文件(.php/.jsp/.asp/.aspx)用命令将服务器上或远程服务器上的文件加载到本脚本文件中,用来加载包含文件中的代码。不管是什么后缀的文件,最终都会以脚本格式执行。通常被黑客用来包含图片马,获取webshell。远程文件包含可以直接包含黑客自己服务器上的木马文件,直接获得webshell。
先准备一个图片“马”,我这个图片“马”是图片里有PHP代码。
上传到靶场WEB服务器,,漏洞复现的网站。
上传成功,返回了服务器保存地址upload/2.jpg,访问一下。
可以正常访问到,但是我们的PHP代码并没有执行,尝试包含此图片,(t=upload/2.jpg)
这里可以看到图片里的代码被执行了,显示了服务器的相关信息
看一下index.php的代码
require_once “$name” 就是这一句的包含的命令,加上$name是接受参数t的值, 我们可以通过上传任意格式的文件,修改t的值为我们上传文件的位置就会执行PHP代码。
这就是文件包含。
这里本地演示一下通过包含漏洞,包含了带有php代码的TXT文件中PHPINFO()函数执行的效果
6.目录遍历,信息泄露 -
目录遍历就是可以查看每个目录下的源代码,并返回查看上一级的目录或继续进入下一级目录。如图,可通过..返回上一级,
信息泄露就像上图,有一个ZIP文件,和PHP文件 一致,ZIP文件是可以下载的,就相当于泄露了源代码。 //个人的理解就是这样
7.应用隐藏
如图,隐藏类似PHP版本,脚本类型,容器类型的值。
通过服务器HTTP响应包括可以看到PHP版本,容器是2.4.10,应用隐藏就是把这些字段的值都隐藏起来,不需要访问网站的人看到。
这些信息可以猜测出服务器的操作系统,或者根据对应的版本是否存在漏洞。
8.网站扫描,
网站扫描,可以说是扫描网站的目录结构,也可以说对网站进行常规的漏洞扫描。
目录扫描一般是通过目录字典,通过不断的发送请求,(域名+目录字典),根据服务器返回的HTTP状态码来识别目录是否存在。
网站漏洞扫描就是进行SQL注入,XSS,信息泄露,目录遍历,敏感信息泄露等测试。暂时只知道一款WEB扫描工具就是AWVS,不过没用过。。
大概就是这些,谢谢。