|
# X( v% c. ~9 m8 z0 z. e8 y
原标题:渗透测试系列|通用漏洞挖掘思路(黑盒篇)一、 黑盒测试在某次渗透测试过程中,单公子经黑盒测试发现某系统存在SQL注入系统登录页面,大概是这样子的
# K' @, G' f* S: h( W/ V8 V 用户名&&密码皆处存在注入// 相对而言,密码处存在注入的可能性比较小,因为密码会经过相关加密(数据库中的password字段值一般是密文),如果数据库中保存的密码就是明文的话,那也是会有产生SQL注入的风险。
( j: l3 W6 c" j4 s 正常请求 : I5 i8 A$ T* t+ I8 Z
一个单引号 * E4 s" X5 N5 G3 }% p) G
两个单引号
2 o% ]0 N9 c F1 s- n. ]- q/ n4 A 有区别(当然检测注入点的话,单引号也不是都适用的)…根据网站架构+经验,猜测是mssql数据库
( y; z' F# w+ H5 y5 d6 b/ K 那么user 一般是 dbo
8 `" ?/ q0 C D! |% V% E5 [ // 参考一下,两个or。
+ `1 B1 O, [! P9 E 万能密码//有万能密码就一定有SQL注入,有SQL注入不一定有万能密码admin--,密码随意用户名随意,密码555or+a=a ! M3 E5 G, Q* f! b
证明存在SQL注入,大部分情况下,这个点就到这里了
9 m4 Y( Z* y/ M, m# W6 f9 ~/ S# D8 y 但是思维需要发散……二、 通用漏洞挖掘在挖掘通用漏洞之前,首先我们先来了解一下,什么是通用型漏洞,什么是事件型漏洞拿补天来说,漏洞类型分两种 $ d- A0 r1 p% u* ?
通用型:顾名思义,poc通通都用适用,类似于0day的概念;第三方软件、应用、系统的漏洞事件型:非通用型,只在当前应用存在// https://www.butian.net/Help/plan### 补天定义。
2 i1 _/ a: Q# T5 [5 N% k. H 回到上文的SQL注入,如果思维不发散,那么它就是一个事件型的漏洞,思维发散了的话,说不定也还是一个事件型的漏洞….言归正传,既然是挖掘通用漏洞,那么势必会需要大量的案例来进行验证问题来了,怎么寻找使用了该产品的站点呢 $ Z+ w/ |( K/ C' F
1、 图标hash2、 页面关键字(如:技术支持:xx单位)3、 url链接(http://22.22.22.22/kkkk/yyyy/zzz/xxx.html)4、 web指纹识别5、 js文件6、 …
# ?6 J7 u! ^) n8 M$ I7 e5 v# [ 但是此站点似乎没有啥比较突出的表示
8 Z/ S8 o8 A. ?0 ?# F 那么看看网页源代码
8 x% L6 p2 y7 ]: Q& Z 搜索相关js文件名(实在不晓得哪个是关键的js文件名的话,就全部试试,反正不多)这里搜索的是/Coyyy/js/core/knocxxxxxxxx-2.2.1.jsFOFA: js_name=""
: u9 s4 [; Q, \ 随便点开几个 
7 y# Z. O/ P$ @ y0 A0 k7 b1 X 发现页面大同小异,且都存在SQL注入。至此,一个通用漏洞到手。
% r- L7 l1 T" ]6 H# @ 话说回来,平常在黑盒测试过程中,挖掘到的漏洞,都可以去尝试一下,是否是通用型的漏洞如果是,并且运气好,该产品公司的注册资金大于5000w,那么一个cnvd证书就来了(运气再好些,还可以在一个系统多薅几个)。 & e, @( l( z4 |: m+ g0 b+ R3 d8 v, D2 ]3 J
当然也可以搜国内500强的公司,去发现他们产品的漏洞,也是一种方法。// 仅供参考
5 ~3 e! w6 m' G+ A3 b6 L 返回搜狐,查看更多责任编辑:
2 z1 C) C7 Y& T% j4 I: X, K
/ {7 T% G8 x' g" z# T3 |, V* X# @6 @2 }7 }* c
9 E$ Q' G7 F* v+ D# m, _
5 k* n" r A/ h( Y& z |