起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 人在职场 > “appscan 我算是跟你干上了”

“appscan 我算是跟你干上了”

时间:2021-05-02 15:42:20来源:深圳软件开发测试培训学校 作者:软件开发测试培训网 已有: 名学员访问该课程

前言: 像我这种甲方的安全工程师检测Web Application的安全性靠自己去做系统的渗透测试肯定是不可能的了,Web扫描器成为了

像我这种甲方的安全工程师检测Web Application的安全性靠自己去做系统的渗透测试肯定是不可能的了,Web扫描器成为了我的依靠。

话说之前一直觉得免费的软件肯定没有付费的好嘛,那么是不是从绿盟啊启明星辰这种安全厂商购买的扫描器比AppScan好用呢?后来一想不对啊,AppScan也是IBM的付费软件啊,查了一下一年的使用费也20多万人民币呢。只不过我用的破解版。。。

为了完成组织上交代的任务,修复扫描出来的这些漏洞,跟程序员大哥们和谐友好的磋商是不可避免的了。最近涉及到的几个漏洞,为了去协助程序员大哥修复也好好的研究了一下AppScan的测试方式。

我接触到的高危基本就这么三类

1、SQL注入、盲 注

2、XSS

3、被解密的登录请求

第三个最容易理解了,就是登陆界面的用户名密码传送给服务器的过程中没有任何加密。AppScan在测试的时候就是分析出哪里是登陆页面,哪些参数是用户名密码,一般就user、password这样。然后对请求包进行抓包分析,默认AppScan填入的参数是1234.如果抓到发现就是裸的1234,那么就会爆这个漏洞。修复方式当然最好是能做到HTTPS,但是总会因为各种各样的原因不能做成HTTPS,于是程序员大哥选择了前端JS脚本加密的方法。修复之后我自己拿burp抓包看是加密过的,但是再扫一遍还是会存在这个漏洞。而且查看AppScan抓到的请求包里面还是明文。是因为AppScan只认HTTPS?还是它把前端JS脚本禁用了等于没加密?不太懂这里。

第二个呢 跨站脚本

这个不是AppScan测的是某程序员大哥用的某扫描器,但是让我帮忙协助分析了一下。验证漏洞的请求包如下:

date1=><ScriPt>alert(777)</ScriPt>&date2=2099-01-01&gglx=0&id=61234&loadnum=0&msg=61234&pageNo=1

扫描器在参数date1后面插入了脚本语句<ScriPt>alert(777)</ScriPt>,发送给了服务器没有收到任何阻拦。然后检测服务器的响应包,在包内发现了植入的危险语句,并且得到了浏览器的执行。说明服务器端并没有对危险语句进行过滤,而且会将该语句放在响应包内返回,由此得出该web存在跨站脚本漏洞。

:哥你得在服务器端做过滤啊

:哦

第三个SQL注入、盲注

盲注放后面说先说【SQL注入】

在查询数据的请求包里AppScan在用户数据处插入了含有SQL命令的参数数据,然后在服务器的响应包里发现了oracle的报错信息。这说明AppScan所插入的命令确实被数据库所执行了,虽然不是什么有害信息只是一个报错。但是服务器理应发现用户输入包含有危险字符将其过滤,不应使其到达数据库层。如果是精心设计过的注入语句,那么将得到有害的执行。这说明该网站存在SQL注入漏洞。

:哥你得在服务器端做过滤啊

:我们后台入库都是用的java的PreparedStatement,这个本身就能防止参数的注入写法。虽然能收到Oracle的报错,但是是注入不进来的。

:哦。。。(PreparedStatement是啥...赶紧百度...)

使用PreparedStatement的好处是数据库会对sql语句进行预编译,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率,如果sql语句只执行一次,以后不再复用。

SQL注入 攻 击 只 对 Statement有效, 对 PreparedStatement 是无效的;

PreparedStatement可以在传入sql后,执行语句前,给参数赋值,避免了因普通的拼接sql字符串语句所带来的安全问题,而且准备sql和执行sql是在两个语句里面完成的,也提高了语句执行的效率 比如单引号会给你加一个转义,加个斜杠。

然后今天早晨在某网站上又扫到了两个SQL盲注

SQL盲注和SQL注入有啥区别?SQL盲注是纯手工测出来的,SQL注入不是?

那SQL注入AppScan也只是添加了危险字符引得数据库报错而已啊。AppScan的检测方式上到底是什么区分SQL注入和SQL盲注的呢。

盲注AppScan对参数修改了四次,发送了四次请求包,每个请求包都对在参数上添加的SQL语句进行了修改,多一个单引号,或者挪一下位置什么的。然后拿他们的响应包与原始包(未经修改)的响应包做对比。然后说结果返回的包并不一样,所以得出可能存在危险性有SQL盲注。蛋疼的是他喵的我肉眼观察明明特么的就是都一样啊!明明四个请求包的返回包一模一样,琢磨了一上午也没明白为什么把这个漏洞标为盲注,有没有路过的大哥能给我讲个清楚。

看着HTTP包怎么也想不明白的我拿Burp打算自己改包发送试试,然后有意思的事情来了,用户名是x1aoh0n。我添加了x1aoh0n'+''转码后在burp里发了出去。然后有意思的事情不在返回包里,肉眼看到在网页的文本输入框内 出现了【x1aoh0n/'+/'/'】的字样。。。是把单引号都转义了啊。。。重点是你特么怎么还给显示出来了呢。。。然后百度如何绕过单引号转义实现sql注入。修改语句后提交,boom,可能是成功了?【该网页无法显示】大概是被发现了之后,我的IP被屏蔽了吧。。。

话说现在专栏更新的速率就定位一个月一次了吧,3月份的话工作上不得不提的就是struts2 s2-045的漏洞了吧。为了这个漏洞贡献出了我工作生涯中第一次加班:15分钟。

远程任意代码执行漏洞,凶。覆盖了目测超过10%的服务器?凶。抓好时间差赶紧把struts2升级就行了,在升级之前接到好几个补天白帽子提交的漏洞。大概因为漏洞类型是高危?每个奖励的钱都还不少呢,早知道我也网上下几个POC去找找。。。匿名领个几百块钱。。。

今天又出了S2-046,和S2-045危害一样作用范围一样,修复过045的046面对就也是安全的。

嗯,没啥想说的了,今天就这样吧。

软件开发测试人才四大魅力元素

——就业竞争小

——高薪没商量

——就业质量高

——无性别歧视

套用狄更斯那句话说:对于急需软件开发测试人员的企业来说,这是一个最坏的时代,但对软件开发测试人才来说,这是一个最好的时代。“随着软件市场的成熟,人们对软件作用的期望值也越来越高,软件的质量和功能可靠性也正逐渐成为人们关注的焦点。”

文章出自:http://www.epx365.cn/jyzn/202179432.html

文章标题:“appscan 我算是跟你干上了”



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.cnitedu.cn 注册时间:2016-07-18 11:07 最后登录:2021-05-02 14:05