Ⅰ 常见WEB攻击之命令注入
即 Command Injection。是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。
在Web应用中,有时候会用到一些命令执行的函数,如php中system、exec、shell_exec等,当对用户输入的命令没有进行限制或者过滤不严导致用户可以执行任意命令时,就会造成命令执行漏洞。
黑客将构造好的命令发送给web服务器,服务器根据拼接命令执行注入的命令,最后讲结果显示给黑客。
以DVWA为例,下面使用ping命令测试IP,正常输入一个IP或者域名会返回一个正常的返回结果。
当输入恶意构造的语句 www..com && netstat -an,会把后面的语句也给执行了:
执行结果:
PHP的常见命令执行函数:
system(),exec(),shell_exec(),passthru()
1、system()
system — 执行外部程序,并且显示输出
常规用法:
使用PHP执行:
php test1.php www..com
exec — 执行一个外部程序
3、shell_exec()
shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。
4、passthru()
passthru() 函数与 exec() 函数类似,执行外部程序并且显示原始输出。
Windows:
用^转义<
如果加上单引号会写不进去,如果加双引号会把双引号一起写进去,所以要用^转义<
linux:
linux下需要用来转义<,不过很多php都默认开启gpc,可以先用16进制转换一句话再用xxd命令把16进制还原.
<?php eval($_POST[pass]);>
转换为16进制:
由于我用的是Linux,所以使用payload写入一句话:
写入成功:
1、采用白名单,或使用正则表达式进行过滤。
2、不要让用户可以直接控制eval()、system、exec、shell_exec等函数的参数。
3、在进入执行命令函数和方法前,对变量进行过滤,对敏感字符进行转义。
Ⅱ Web应用常见的安全漏洞有哪些
Web应用常见的安全漏洞:
1、SQL注入
注入是一个安全漏洞,允许攻击者通过操纵用户提供的数据来更改后端SQL语句。当用户输入作为命令或查询的一部分被发送到解释器并且欺骗解释器执行非预期的命令并且允许访问未授权的数据时,发生注入。
2、跨站脚本攻击 (XSS)
XSS漏洞针对嵌入在客户端(即用户浏览器而不是服务器端)的页面中嵌入的脚本。当应用程序获取不受信任的数据并将其发送到Web浏览器而未经适当验证时,可能会出现这些缺陷。
3、跨站点请求伪造
CSRF攻击是指恶意网站,电子邮件或程序导致用户的浏览器在用户当前已对其进行身份验证的受信任站点上执行不需要的操作时发生的攻击。
4、无法限制URL访问
Web应用程序在呈现受保护的链接和按钮之前检查URL访问权限 每次访问这些页面时,应用程序都需要执行类似的访问控制检查。通过智能猜测,攻击者可以访问权限页面。攻击者可以访问敏感页面,调用函数和查看机密信息。
5、不安全的加密存储
不安全的加密存储是一种常见的漏洞,在敏感数据未安全存储时存在。用户凭据,配置文件信息,健康详细信息,信用卡信息等属于网站上的敏感数据信息。
(2)程序员web攻击方法扩展阅读
web应用漏洞发生的市场背景:
由于Web服务器提供了几种不同的方式将请求转发给应用服务器,并将修改过的或新的网页发回给最终用户,这使得非法闯入网络变得更加容易。
许多程序员不知道如何开发安全的应用程序。他们的经验也许是开发独立应用程序或Intranet Web应用程序,这些应用程序没有考虑到在安全缺陷被利用时可能会出现灾难性后果。
许多Web应用程序容易受到通过服务器、应用程序和内部已开发的代码进行的攻击。这些攻击行动直接通过了周边防火墙安全措施,因为端口80或443(SSL,安全套接字协议层)必须开放,以便让应用程序正常运行。
Ⅲ 黑客攻击主要有哪些手段
黑客攻击手段:
1、漏洞扫描器
漏洞扫描器是用来快速检查已知弱点的工具,这就方便黑客利用它们绕开访问计算机的指定端口,即使有防火墙,也能让黑客轻易篡改系统程序或服务,让恶意攻击有机可乘。
2. 逆向工程
逆向工程是很可怕的,黑客可以利用逆向工程,尝试手动查找漏洞,然后对漏洞进行测试,有时会在未提供代码的情况下对软件进行逆向工程。
3. 蛮力攻击
这种手段可以用于密码猜测,速度非常快。但如果面对的是很长的密码,蛮力搜索就需要更长的时间,这时候黑客会使用字典攻击的方法。
4. 密码破解
黑客会反复猜测尝试,手工破解常见密码,并反复尝试使用“字典”或带有许多密码的文本文件中的密码,从而可以窃取隐私数据。
5. 数据包嗅探器
数据包嗅探器是捕获的数据分组,可以被用于捕捉密码和其他应用程序的数据,再传输到网络上,造成数据泄露。
黑客作用原理
1、收集网络系统中的信息
信息的收集并不对目标产生危害,只是为进一步的入侵提供有用信息。黑客可能会利用下列的公开协议或工具,收集驻留在网络系统中的各个主机系统的相关信息。
2、探测目标网络系统的安全漏洞
在收集到一些准备要攻击目标的信息后,黑客们会探测目标网络上的每台主机,来寻求系统内部的安全漏洞。
3、建立模拟环境,进行模拟攻击
根据前面两小点所得的信息,建立一个类似攻击对象的模拟环境,然后对此模拟目标进行一系列的攻击。在此期间,通过检查被攻击方的日志,观察检测工具对攻击的反应,可以进一步了解在攻击过程中留下的“痕迹”及被攻击方的状态,以此来制定一个较为周密的攻击策略。
4、具体实施网络攻击
入侵者根据前几步所获得的信息,同时结合自身的水平及经验总结出相应的攻击方法,在进行模拟攻击的实践后,将等待时机,以备实施真正的网络攻击。