Skip to content

Commit 3439eab

Browse files
authored
Merge pull request hacklcx#28 from hacklcx/dev
Dev
2 parents 70b908f + 0980a01 commit 3439eab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2383
-1275
lines changed

LICENSE

+674-21
Large diffs are not rendered by default.

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
# 介绍
44

5+
> 本项目使用 **GPL** 协议,未经授权,禁止使用商业用途。
6+
>
57
> *本 Team 研发此平台,仅为企业安全测试使用,禁止其他人员使用非法用途!一切行为与本 Team 无关。*
68
79
**HFish** 是一款基于 Golang 开发的跨平台多功能主动诱导型蜜罐框架系统,为了企业安全防护测试做出了精心的打造
@@ -207,7 +209,6 @@ URL(Get): http://localhost:9001/api/v1/get/fish_info
207209
- [ ] 蜜罐高交互完善
208210
- [ ] 支持 Ngrok 一键映射
209211
- [ ] 支持更多的图表统计
210-
- [ ] Mysql 支持
211212
- [ ] 规划更多的功能...
212213

213214
# 关于

admin/colony.html

+11-11
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ <h4 class="page-title">分布式集群</h4>
7777
</thead>
7878
<tbody id="tableList">
7979
<tr style="text-align: center;">
80-
<td style="line-height: 200px;font-size: 20px;color: #a9a9a9;" colspan="5">暂无数据</td>
80+
<td style="line-height: 200px;font-size: 20px;color: #a9a9a9;" colspan="11">暂无数据</td>
8181
</tr>
8282
</tbody>
8383
</table>
@@ -120,7 +120,7 @@ <h4 class="page-title">分布式集群</h4>
120120
for (var i = 0; i < data.length; i++) {
121121
_h += '<tr>';
122122

123-
var last_update_time = data[i].last_update_time;
123+
var last_update_time = data[i].last_update_time.replace("T", " ").replace("+08:00", "").replace("Z", "");
124124
last_update_time = last_update_time.substring(0, 19);
125125
last_update_time = last_update_time.replace(/-/g, '/');
126126
var timestamp = new Date(last_update_time).getTime();
@@ -131,55 +131,55 @@ <h4 class="page-title">分布式集群</h4>
131131
_h += ' <td class="td agent_name"><span class="openx"></span>' + data[i].agent_name + '</td>';
132132
_h += ' <td class="td"><span>' + data[i].agent_ip + '</span></td>';
133133

134-
if (data[i].plug_status == "1") {
134+
if (data[i].plug_status == 1) {
135135
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
136136
} else {
137137
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';
138138
}
139139

140-
if (data[i].web_status == "1") {
140+
if (data[i].web_status == 1) {
141141
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
142142
} else {
143143
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';
144144
}
145145

146-
if (data[i].dart_status == "1") {
146+
if (data[i].deep_status == 1) {
147147
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
148148
} else {
149149
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';
150150
}
151151

152-
if (data[i].ssh_status == "1") {
152+
if (data[i].ssh_status == 1 || data[i].ssh_status == 2) {
153153
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
154154
} else {
155155
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';
156156
}
157157

158-
if (data[i].redis_status == "1") {
158+
if (data[i].redis_status == 1) {
159159
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
160160
} else {
161161
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';
162162
}
163163

164-
if (data[i].mysql_status == "1") {
164+
if (data[i].mysql_status == 1) {
165165
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
166166
} else {
167167
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';
168168
}
169169

170-
if (data[i].telnet_status == "1") {
170+
if (data[i].telnet_status == 1) {
171171
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
172172
} else {
173173
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';
174174
}
175175

176-
if (data[i].ftp_status == "1") {
176+
if (data[i].ftp_status == 1) {
177177
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
178178
} else {
179179
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';
180180
}
181181

182-
if (data[i].mem_cache_status == "1") {
182+
if (data[i].mem_cache_status == 1) {
183183
_h += ' <td class="td" style="text-align: center;"><span class="openx"></span></td>';
184184
} else {
185185
_h += ' <td class="td" style="text-align: center;"><span class="closex"></span></td>';

admin/dashboard.html

+17-15
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ <h2 class="m-b-10"><span data-plugin="counterup">{{.deepSum}}</span></h2>
163163

164164
{{if eq .sshStatus "1"}}
165165
<p><span class="openx"></span>SSH</p>
166+
{{ else if eq .sshStatus "2"}}
167+
<p><span class="openx"></span>SSH</p>
166168
{{else}}
167169
<p><span class="closex"></span>SSH</p>
168170
{{end}}
@@ -463,42 +465,42 @@ <h2 class="m-b-10"><span data-plugin="counterup">{{.deepSum}}</span></h2>
463465

464466
for (var item in d.mysql) {
465467
var index = xdata.indexOf(item);
466-
mysqlData[index] = d.mysql[item];
468+
mysqlData[index] = parseInt(d.mysql[item]);
467469
}
468470

469471
for (var item in d.redis) {
470472
var index = xdata.indexOf(item);
471-
redisData[index] = d.redis[item];
473+
redisData[index] = parseInt(d.redis[item]);
472474
}
473475

474476
for (var item in d.ssh) {
475477
var index = xdata.indexOf(item);
476-
sshData[index] = d.ssh[item];
478+
sshData[index] = parseInt(d.ssh[item]);
477479
}
478480

479481
for (var item in d.web) {
480482
var index = xdata.indexOf(item);
481-
webData[index] = d.web[item];
483+
webData[index] = parseInt(d.web[item]);
482484
}
483485

484486
for (var item in d.deep) {
485487
var index = xdata.indexOf(item);
486-
deepData[index] = d.deep[item];
488+
deepData[index] = parseInt(d.deep[item]);
487489
}
488490

489491
for (var item in d.ftp) {
490492
var index = xdata.indexOf(item);
491-
ftpData[index] = d.ftp[item];
493+
ftpData[index] = parseInt(d.ftp[item]);
492494
}
493495

494496
for (var item in d.telnet) {
495497
var index = xdata.indexOf(item);
496-
telnetData[index] = d.telnet[item];
498+
telnetData[index] = parseInt(d.telnet[item]);
497499
}
498500

499501
for (var item in d.memCache) {
500502
var index = xdata.indexOf(item);
501-
memCacheData[index] = d.memCache[item];
503+
memCacheData[index] = parseInt(d.memCache[item]);
502504
}
503505

504506

@@ -610,13 +612,13 @@ <h2 class="m-b-10"><span data-plugin="counterup">{{.deepSum}}</span></h2>
610612
url: "/get/dashboard/pie_data",
611613
dataType: "json",
612614
success: function (e) {
613-
var d = e;
615+
var d = e.data;
614616

615617
console.log(d);
616618

617619
var option = {
618620
title: {
619-
text: '攻击地区',
621+
text: '[攻击地区] TOP10',
620622
x: 'left'
621623
},
622624
tooltip: {
@@ -627,8 +629,8 @@ <h2 class="m-b-10"><span data-plugin="counterup">{{.deepSum}}</span></h2>
627629
{
628630
name: '来源地区',
629631
type: 'pie',
630-
radius: '70%',
631-
center: ['50%', '50%'],
632+
radius: '60%',
633+
center: ['50%', '60%'],
632634
data: d.regionList,
633635
itemStyle: {
634636
emphasis: {
@@ -646,7 +648,7 @@ <h2 class="m-b-10"><span data-plugin="counterup">{{.deepSum}}</span></h2>
646648

647649
var option = {
648650
title: {
649-
text: '攻击 IP',
651+
text: '[攻击IP] TOP10',
650652
x: 'left'
651653
},
652654
tooltip: {
@@ -657,8 +659,8 @@ <h2 class="m-b-10"><span data-plugin="counterup">{{.deepSum}}</span></h2>
657659
{
658660
name: '攻击者IP',
659661
type: 'pie',
660-
radius: '70%',
661-
center: ['50%', '50%'],
662+
radius: '60%',
663+
center: ['50%', '60%'],
662664
data: d.ipList,
663665
itemStyle: {
664666
emphasis: {

admin/data.html

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Title</title>
6+
</head>
7+
<body>
8+
<div id="p">
9+
10+
</div>
11+
12+
<script>
13+
var ws = new WebSocket('ws://127.0.0.1:9001/data/ws');
14+
15+
ws.onopen = function () {
16+
ws.send("ping");
17+
};
18+
19+
ws.onmessage = function (evt) {
20+
var received_msg = evt.data;
21+
document.getElementById("p").innerHTML = "<p>" + received_msg + "</p>"
22+
};
23+
24+
ws.onclose = function () {
25+
// 关闭 websocket
26+
console.log("close")
27+
};
28+
</script>
29+
</body>
30+
</html>

admin/fish.html

+33-31
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,17 @@ <h4 class="page-title">上钩列表</h4>
182182
<th width="11%">项目</th>
183183
<th width="8%">集群名称</th>
184184
<th width="8%">来源 IP</th>
185-
<th width="8%">地理信息</th>
185+
<th width="9%">地理信息</th>
186186
<th width="5%">信息</th>
187187
<th width="5%">长度</th>
188188
<th width="8%">上钩时间</th>
189189
</tr>
190190
</thead>
191-
<tbody id="tableList"></tbody>
191+
<tbody id="tableList">
192+
<tr style="text-align: center;">
193+
<td style="line-height: 200px;font-size: 20px;color: #a9a9a9;" colspan="8">暂无数据</td>
194+
</tr>
195+
</tbody>
192196
</table>
193197
</div>
194198
<button type="button" id="delbtn" class="btn btn-danger waves-effect waves-light btn-sm"
@@ -226,8 +230,7 @@ <h6 class="modal-title" id="myModalLabel">上钩信息</h6>
226230
success: function (e) {
227231
if (e.code == 200) {
228232
var data = e.data;
229-
var str = data[0].info.replace(/&&/g, "<br>");
230-
console.log(str);
233+
var str = data.info.replace(/&&/g, "<br>");
231234
$(".pre").html(str);
232235
} else {
233236
}
@@ -274,7 +277,7 @@ <h6 class="modal-title" id="myModalLabel">上钩信息</h6>
274277
url: "/get/fish/typeList",
275278
dataType: "json",
276279
success: function (e) {
277-
var data = e.resultInfoType;
280+
var data = e.data.resultInfoType;
278281
var _h = '<option value="all">请选择类型</option>';
279282

280283
for (var i = 0; i < data.length; i++) {
@@ -283,12 +286,11 @@ <h6 class="modal-title" id="myModalLabel">上钩信息</h6>
283286

284287
$("#selectType").html(_h);
285288

286-
var data1 = e.resultColonyName;
289+
var data1 = e.data.resultColonyName;
287290
var _h1 = '<option value="all">请选择集群</option>';
288-
_h1 += '<option value="本机">本机</option>';
289291

290292
for (var i = 0; i < data1.length; i++) {
291-
_h1 += '<option value="' + data1[i].agent_name + '">' + data1[i].agent_name + '</option>';
293+
_h1 += '<option value="' + data1[i].agent + '">' + data1[i].agent + '</option>';
292294
}
293295
$("#selectColony").html(_h1);
294296
},
@@ -348,48 +350,48 @@ <h6 class="modal-title" id="myModalLabel">上钩信息</h6>
348350
var data = e.data;
349351
var _h = '';
350352

351-
for (var i = 0; i < data.length; i++) {
353+
for (var i = 0; i < data.result.length; i++) {
352354
_h += '<tr>';
353-
_h += ' <td class="td"><div class="checkbox checkbox-single checkbox-danger"><input type="checkbox" value="' + data[i].id + '" name="check_x" onchange="changedel()"><label></label></div></td>'
355+
_h += ' <td class="td"><div class="checkbox checkbox-single checkbox-danger"><input type="checkbox" value="' + data.result[i].id + '" name="check_x" onchange="changedel()"><label></label></div></td>'
354356
_h += ' <td class="td">';
355-
if (data[i].type == "WEB") {
357+
if (data.result[i].type == "WEB") {
356358
_h += ' <span class="label label-primary">WEB</span> ';
357-
} else if (data[i].type == "SSH") {
359+
} else if (data.result[i].type == "SSH") {
358360
_h += ' <span class="label lb_ssh">SSH</span> ';
359-
} else if (data[i].type == "REDIS") {
361+
} else if (data.result[i].type == "REDIS") {
360362
_h += ' <span class="label lb_redis">REDIS</span> ';
361-
} else if (data[i].type == "MYSQL") {
363+
} else if (data.result[i].type == "MYSQL") {
362364
_h += ' <span class="label lb_mysql">MYSQL</span> ';
363-
} else if (data[i].type == "FTP") {
365+
} else if (data.result[i].type == "FTP") {
364366
_h += ' <span class="label lb_ftp">FTP</span> ';
365-
} else if (data[i].type == "TELNET") {
367+
} else if (data.result[i].type == "TELNET") {
366368
_h += ' <span class="label lb_telnet">TELNET</span> ';
367-
} else if (data[i].type == "DEEP") {
369+
} else if (data.result[i].type == "DEEP") {
368370
_h += ' <span class="label lb_deep">DEEP</span> ';
369-
} else if (data[i].type == "MEMCACHE") {
371+
} else if (data.result[i].type == "MEMCACHE") {
370372
_h += ' <span class="label lb_mem_cache">MEMCACHE</span> ';
371-
} else if (data[i].type == "PLUG") {
373+
} else if (data.result[i].type == "PLUG") {
372374
_h += ' <span class="label lb_plug">PLUG</span> ';
373375
}
374376

375-
_h += ' <span class="project">' + data[i].project_name + '</span>';
377+
_h += ' <span class="project">' + data.result[i].project_name + '</span>';
376378
_h += ' </td>';
377-
_h += ' <td class="td"><span class="agent_name">' + data[i].agent + '</span></td>';
378-
_h += ' <td class="td" style="font-weight: bold;">' + data[i].ip + '</td>';
379+
_h += ' <td class="td"><span class="agent_name">' + data.result[i].agent + '</span></td>';
380+
_h += ' <td class="td" style="font-weight: bold;">' + data.result[i].ip + '</td>';
379381

380382
// country,region,city
381-
if (data[i].country == "本机地址") {
383+
if (data.result[i].country == "本机地址") {
382384
_h += ' <td class="td"><span class="ipinfo">本机地址</span></td>';
383-
} else if (data[i].country == "局域网") {
385+
} else if (data.result[i].country == "局域网") {
384386
_h += ' <td class="td"><span class="ipinfo">局域网</span></td>';
385387
}
386388
else {
387-
_h += ' <td class="td"><span class="ipinfo">' + data[i].country + ' ' + data[i].region + ' ' + data[i].city + '</span></td>';
389+
_h += ' <td class="td"><span class="ipinfo">' + data.result[i].country + ' ' + data.result[i].region + ' ' + data.result[i].city + '</span></td>';
388390
}
389391

390-
_h += ' <td><span class="info" onclick="show(' + data[i].id + ')">点击查看</span></td>';
391-
_h += ' <td class="td"><span class="cinfo">' + data[i].info.length + '</span></td>';
392-
_h += ' <td class="td">' + data[i].create_time + '</td>';
392+
_h += ' <td><span class="info" onclick="show(' + data.result[i].id + ')">点击查看</span></td>';
393+
_h += ' <td class="td"><span class="cinfo">' + data.result[i].info.length + '</span></td>';
394+
_h += ' <td class="td">' + data.result[i].create_time.replace("T", " ").replace("+08:00", " ").replace("Z", "") + '</td>';
393395
_h += '</tr>';
394396
}
395397

@@ -399,9 +401,9 @@ <h6 class="modal-title" id="myModalLabel">上钩信息</h6>
399401

400402
$("#tableList").html(_h);
401403

402-
var pageCount = e.pageCount;
403-
var totalCount = e.totalCount;
404-
var page = e.page;
404+
var pageCount = data.pageCount;
405+
var totalCount = data.totalCount;
406+
var page = data.page;
405407

406408

407409
$("#myPage").sPage({

admin/footer.html

+7
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@
2525
<div class="tab-content">
2626
<div class="tab-pane fade in active" id="home-2">
2727
<div class="timeline-2">
28+
<div class="time-item">
29+
<div class="item-info">
30+
<small class="text-muted">2019-09-09</small>
31+
<p>发布 v0.3.1 版本</p>
32+
</div>
33+
</div>
2834
<div class="time-item">
2935
<div class="item-info">
3036
<small class="text-muted">2019-08-27</small>
@@ -63,6 +69,7 @@
6369
<script src="/static/libs/switchery/switchery.min.js"></script>
6470
<script src="/static/libs/waypoints/lib/jquery.waypoints.js"></script>
6571
<script src="/static/libs/counterup/jquery.counterup.min.js"></script>
72+
<script src="/static/libs/moment/moment.min.js"></script>
6673

6774
<!-- App js -->
6875
<script src="/static/js/jquery.core.js"></script>

0 commit comments

Comments
 (0)