[原创]一个注入辅助小程序
软件作者:虫虫信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
想写这个小东西已经有很长时间了,前几天终于写好了。
写这个小工具是想解决一些手工注入比较麻烦,工具注入又没法用的情况的。例如有些注入工具就不支持Cookie注入;有些注入必须符合很多条件,例如aspx的注入,一般都会有一个 __VIEWSTATE 变量要发,否则就不可以;有的做了注入过滤,单手工可以注入....
这个小工具的主要原理就是转发,转发时可以对提交的数据进行修改。
我设计了几条简单的修改规则,下面会提一下。
==================
作者:lAnG猫 [BK瞬间群] (其实就是虫虫,呵呵)
功能说明:
修改并转发ie,nbsi,等等发送的http包。
工作原理:
类似于http代理。程序启动后将在本机800端口监听,收到HTTP请求后会将该HTTP请求分析并按照定义好的规则修改后发送给指定的服务器。
使用方法:
在域名框内输入指定服务器的域名(也可为ip),确定后即可通过ie或nbsi等注入工具扫描[url]http://localhost:800/../xxx.asp?xxx..[/url]
点"修改规则"即可进行HTTP请求修改规则编辑.共有9种修改规则,分别为:
添改HTTP选项 : 可以添加/修改HTTP头选项,如COOKIE等.(如果原选项存在将被覆盖)
删除HTTP选项 : 剔除指定的HTTP头选项.
添改HTTP变量 : 添加/修改指定的GET/POST变量,例如aspx常用的"__VIEWSTATE"
删除HTTP变量 : 剔除指定的HTTP变量.
变量转为选项 : 将指定的GET/POST变量转换为HTTP头选项.可以在非GET/POST型注入时用到.
变量添加到选项 : 将指定的变量附加到指定HTTP头选项后面. 可以只附加变量的值,也可以以" ; xxx=xxxx"的形式.常用在cookie型注入.
全部POST发送 : 将所有的变量以POST方式发送.
全部GET发送 : 将所有的变量以GET方式发送.
变量值替换 : 按规则替换提交变量的值.
注意 : 规则是大小写敏感的.
常用的数据:
HTTP代理 X-Forwarded-For
引用:Referer
Cookie , User-Agent
=======================
程序,以及程序的vb源文件我都打包传上来了。我写的代码很乱,虽然加了一点注释,估计看起来还是比较累。自我感觉写的比较好的地方是建立了那个Socket池(暂且这么叫吧,高人勿笑),因为是第一次实现,呵呵。虽然vb是单线程的,但是由于vb中的socket控件是不阻塞的,所以这个socket池的设计使这个工具稍微有点多线程的感觉,呵呵。
测试中有很多问题,这也是我把这个程序发上来的原因之一。文档写的很简单,UI也没下功夫,估计大家拿去用的时候都一头雾水……
新年马上到了嘛,在年前我都没法写程序了,大家测试了发现什么问题或者有什么意见都提一下吧,虚心接受...(差点顺口说出"死不悔改" ^_^ )
祝大家新年快乐,呵呵。
对阿,工具名字起的很……见笑了~ [s:52] 很超前 很酷的东西
X-Forwarded-For Cookie方式的注入方便了很多. [s:39]
虚心接受"死不悔改"
是我的格言
嘻嘻
虽然自己对这方面8是太懂
ps.原代码直接拿出来哈
大家一起改哈
- -! 看了LAKE2写的关于这个的漏洞,怎么找都没有找到工具,谢谢楼主 如果能在修改时更直观点就好。 当时这个程序是群里的朋友有要,就下决心写的.
不过测试的时候发现这么一个问题:
不添加任何过滤规则,对同一个注入点,NBSI的结果跟没用这个程序是不同的...
我是直接把结果传回来的,二进制式的,但是不知道为什么还是产生了负面影响...
也求牛人看看.... 呵 :)Vista下没有安VB 一会到XP下去看一下
希望有时间可以请教一下VB的一些问题 呵
:) 恩,转发之后遇见了点小问题,无法识别什么类型的注入点了 很实用的工具,我遇到个注入点,他NND如果换参数就不可以注入,非得手工在中间的参数后面进行注入,看到这个工具真的掀喜中。。。
可下面又有人说出错,我还没试,但先在此谢谢了,如果能用,我将表示感谢。并希望能将软件完善。 哇 这正是我需要的东西哇。。。
貌似不会用
请问下 这个情况应该怎么改?
对方用了一流数据拦截系统 所以注入的时候需要在某些命令里面加个%
比如说 and (select Count(*) from [数据库名])>0
要写成
a%nd (s%elect Co%unt(*) fro%m [数据库名])>0
这样的形式才能饶过验证
怎么改咧? 好像还有人关注……好久没有更新了,懒阿,呵呵~
这样的话可以做replace,替换。
将and替换成a%nd ...... 多做几个替换就好了~
如果大家觉得实用的话我就得继续更新咯~呵呵
(起始最主要的就是集成几个常用的功能,例如绕过一流..自动IP伪装等等,呵呵) 变量值替换 : 按规则替换提交变量的值.
就是可以把注入语句里的admin替换成a%dmin的吧?
那个分隔符是干什么的呢??
能不能举个例子? .... 怪我偷懒没有好好修改。。界面的确很差劲的说。。。
那个“追加到的HTTP选项”其实就是要被替换的内容,而“分隔符”就是被替换为的内容。
例如我有一个test.ASP文件,可以显示用户提交的var这个变量。asp文件内容为 <%=request("Var")%>
提交 [url]http://localhost/test/test.asp?var=var_is_aa[/url]
这时候网页显示 var_is_aa
然后打开xSI,域名为localhost ,添加新规则 变量值替换, “选项或变量的名字”就是var [区分大小写……] ,“追加到的HTTP选项”其实就是要被替换的内容,填“aa”,"分隔符",就是被替换的内容,写“NOT_AA”,再访问 [url]http://localhost:800/test/test.asp?var=var_is_aa[/url]
这时候的显示就为 var_is_NOT_AA 。
替换是在原始文本上进行的替换,未经过任何编码。你可以开启debug看一下记录。
所以可以放心转换,例如,将and转换为a%nd , 按以上的描述添加规则,就可以看到提交this_is_a_and_b后的显示依然为this_is_a_and_b,但实际的http请求为:
POST /test/test.asp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)
Host: localhost
Connection: Keep-Alive
Cookie: ASPSESSIONIDACTBQTSB=DLCPAHPDDJPJEIHEEJJDHHMJ; ASPSESSIONIDACSARSSA=FNBLGPAAABMAJNDGIFCNDDBC
Content-Type: application/x-www-form-urlencoded
Content-Length: 20
var=this_is_a_a%nd_b 知道了
谢谢
希望下个版本的早日出现
忽忽!
页:
[1]