找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

  • QQ空间
  • 回复
  • 收藏

© Arry 管理员   /  2017-11-6 14:54  /   0 人收藏


一、前言


这是一个了解“代(00)码(00)注(00)入的套路”也是一个代码审计的套路。。大佬飞过。。。小白用心不是梦!


、目录


第一节 白话代码注(00)


第2节 详解命令注(00)


第3节 有图有真相,代码审计


第4节 总结(你是不是大佬)


第一节 白话代码注入
代码注入是一种常见的对 web应用程序的攻击和威胁,wiki(00)pedia 将其定义为:利用系统没哟对其输入进行强制执行或检测的假设向计算机系统引入(或“注入”)代码的技术。
注入代码的目的是通常绕过或者修改程序的最初目标功能。

Owasp定义为:注入问题,特别是sql注入,是web应用的共同问题,注入在用户输入数据作为命令或者查询的一部分被发送给一个解释器时发生!
攻击者通过恶意数据可以触发解释器执行无意识的命令或者修改数据,
进一步直接创建用户等!

举例说明比如:

第2节 详解命令注入
在代码注入中最严重的是“命令执行漏洞”

下面我们就来详解“命令执行”

OS指令执行是为了通过网络接口在web服务器执行OS命令的一种技术,如果应用程序使用外部输入的字符串或者受外部影响的字符串组装命令(看不懂的话,下去恶补一下基础知识),并且,没有经过正确的过滤(就是带入查询或者执行),就有可能会发生OS命令注入攻击(命令执行),这个漏洞可能会导致攻击者在操作系统上执行一些预料之外(你自己想要执行结果)的危险命令。

他还可能导致攻击者(你)可以控制一些不能直接访问的系统和资源,假如web服务器没有遵循、最小权限原则,(你就有可能执行命令直接获取shell,或者提高权限)控制服务器。

Os命令执行(注入)有这么两种情况:

第一种:应用程序执行一个自己控制的固定程序,用户通过输入参数来执行命令,这时,可以通过参数分隔符,在参数中注入命令,来执行(你)想要的运行的命令!

第二种: 应用程序将输入整个字符串作为一个命令,应用只是一个中转,他会把命令直接传给操作系统执行!列如:exec来执行命令,这时可以通过命令分隔符执行命令(;一般是分割符)
下面用代码举几个列子:
列1命令执行:


上面的运行结果是什么?

列2代码执行:

或者
是不是很眼熟,对没错经典的“菜刀”语句
看了这些代码你是否对命令执行有感触那?来自己尝试一下!

比如列1:我们可以执行 “net user”命令查看用户,如果权限够大,你可以直接建立账户等操作,,唯一要注意的是在windows系统和linux系统下命令的区别(还有你直接复制我的代码可能会出错,因为是word文档复制的)



第3节 有图有真相,代码审计












通过上面的图你可以发现什么?是不是可以执行命令和在系统里面一样,那么他的危害有那些那?你可以自己想到吗?
请在回复中写出危害和你的利用方法!


那么说好的代码审计那!


看图:2个图,只有一句带有危险函数你可以找见吗?(请在回复中注明)












上面那句话有问题那?假如你不知道请参照:“高级php应用程序漏洞审核技术”找出来!


其实就是代码程序启用了危险的函数,假如你是开发或者安全员应该避免使用这些危险的函数!


那么在实际的代码审计中也是如此,比如一些CMS使用危险函数或者其他的调用系统命令函数,那么你就可以看看输出在哪里,没准你会发现一个0DAY!


那么在黑盒测试中,有该如何那?


我也小白!


我们可以使用扫描器来发现比如:vega wvs,当然了也可以看你自己的喜好,以及侧重功能吧!


我这里用vega举例:


首先我们打开vega然后添加URL,主要是在设置这里要加上




假如网站有这个漏洞就会发现os命令注入执行,当然最重要的是手工验证,这也就是后期所要的经验!


wvs我想大家都会!直接输入目标,然后坐等结果!




第4节 总结(你是不是大佬)


这个文章带你是不是理解了命令注入那?你哪里有疑问?或者哪里要指导作者的欢迎讨论(回复)。


对于命令注入的问题,主要在哪里!其实就是因为开发人员水平不一,而造就了这样的问题,如果你是一个测试人员,或者企业安全工作者,当你发现了命令执行的时候!告诉开发,开发有可能不一定知道如何修复。。。。。。这个时候就要看你的知识面了。同时也是你炫耀技术的时候! 加油你就是大佬!

请在法律框架内玩,即使你发现了某些CMS漏洞,也要小心!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表评论
您需要登录后才可以回帖 登录 | 注册