您的位置 首页 > 数码极客

SOB如何存档SOB存档位置!

搜索公众号:暗网黑客

可领全套网络安全课程、配套攻防靶场

前一阵一直在玩比特币,但是无奈又TM站在了人生的最高点,别问我为什么用“又”,WCTMD投了1500最后剩几十元。

然后这次的目标是朋友推荐的一个站点,据说送币子,注册就送。。。
这篇文章主要讲的是思路,还有XSS平台的使用。。。

没有思路你只能止步不前。某日对某站点。

然后我就随手测试一下放了一段XSS代码,然后没过多久发现,我的邮箱居然收到了XSS平台发来的信息

然后登录XSS平台一看,发现居然有收货,很是意外,这就是传说中的盲打XSS,然后简单的看了一下,如下图。


既然有cookie,还有后台地址,那么尝试登录一下吧。

结果发现,登录不进去,跳转到了登录界面。

经过查看,估测应该是打到的cookie有问题,对方可能设置了httponly,这样对方网站关键的cookie我是获取不到的,那就无法登录对方的后台。

不过这里看到一个好消息,那就是对方网站的后台对外开放,在互联网上居然可以访问。

那就妥妥的了。咱们继续看刚才XSS平台收到的信息,这里已经收到对方中招的后台URL地址了。
后台地址:
还有这个地址的html源码,如下图:



这里要注意,很多时候获取到的对方的html源码都是“相对地址”,需要你自己补全为“绝对地址”,上图中红色的就是相对地址,没有网站的域名地址,绿色圈中的就是绝对地址。把源码中的所有连接地址都补全像图中绿色圈中的样子。
然后本地打开(因为对方的后台对外开放,互联网可访问了),所以补全后,我们本地打开。如下图:



这里可以看到,他人实名信息,这里有身份证正反面,还有手持照片。为了好奇,我点击了一下其中一个手持照片。地址如下:






当然我打开这个地址的时候,URL直接跳转到了登录界面。没办法,毕竟没登录。没办法登录,那么刚才一直什么补全html中连接为何?这里先不做解答,卖个关子,先说眼前的问题,这个图片看不了怎么办?就在我在前台,也就是用户界面操作各个功能的时候发现。


我们看一下咱们上传的这个图片地址。



然后这里我们在返回看一下后台的读取图片的地址。



相信聪明的你是不是已经思路打开了呢?



如果我们吧后台URL地址的红色的那个值替换到上面个人中心那里,是不是就可以显示了呢?

我访问了一下这个地址。然后如下图:



这里其实想说明的是思路很重要。要利用一切可以利用的。当然了,获取他人信息不是咱们的主要目的,咱们要直捣黄龙,说好的。


------------------小插曲暂时停一下,继续刚才那个补全html开始------------------


这里要重点说一下,为什么要补全html呢,其实不光是为了看样式,它的重点在于让你通过html源码能对 对方网站结构有一个大概的梳理。

这里我给出重点的html源码中的内容。

<script>     $(document).ready(function () {                 $("#table_list").bootstrapTable({                     method: "POST",                     contentType: "application/x-www-form-urlencoded",                     url: "/admin/userCertx/list",                     striped: true,                     pagination: true,                     pageSize: 10,                     pageNumber: 1,                     pageList: [5, 10, 15, 20, 25],                     search: false,                     detailView:false,                     sidePagination: "server",                     queryParamsType: "undefined",                     responseHandler: function(res) {                         return {                             "rows": res.list,                             "total": res.total                         };                     },                     columns: [{                         title: "ID",                         field: "id",                         sortable: true                     },{                         title: "用户名",                         field: "username"                     },{                         title: "全名",                         field: "firstName",                         formatter: function(value, row, index) {                         return row.firstName + " " + row.lastName;                 }                     },{                 title: "证件号码",                 field: "idNo"             },{                         title: "身份证正面照",                         field: "idCardFront",                 formatter: function(value, row, index) {                     if(!value){                         return "无";                     }                     return '<a target="_blank" href="getImageFile?fileId=' + value + '">查看</a>';                 }                     },{                 title: "身份证反面照",                 field: "idCardBack",                 formatter: function(value, row, index) {                     if(!value){                         return "无";                     }                     return '<a target="_blank" href="getImageFile?fileId=' + value + '">查看</a>';                 }             },{                 title: "身份证正面照",                 field: "idCardInhand",                 formatter: function(value, row, index) {                     if(!value){                         return "无";                                         }                     return '<a target="_blank" href="getImageFile?fileId=' + value + '">查看</a>';                 }             },{                 title: "状态",                 field: "verifiedStatus"             },{                         title: "操作",                         field: "verifiedStatus",                 formatter: function (value, row, index) {                             if(value === 'REJECTED' || value === 'PASSED') {                                 i) {                             return '<button class="btn btn-primary btn-xs" type="button"><i class="fa fa-edit"></i> 查看备注</button>  ';                         }                                 return "";                     }                             if(value !== 'SUBMITTED') {                                 return "";                                         }                     var operateHtml = '<button class="btn btn-primary btn-xs" type="button"><i class="fa fa-edit"></i> 通过</button>  ';                     operateHtml = operateHtml + '<button class="btn btn-danger btn-xs" type="button"><i class="fa fa-remove"></i> 拒绝</button>  ';                     return operateHtml;                 }                     }]                 });     });     function query() {         var username=$("#username").val();         var status=$("#status").val();         $('#table_list').bootstrapTable("refresh",{url:"/admin/userCertx/list?username=" + username + "&status=" + status}         );     }     function pass_reject(id, passed){         if(!passed) {             layer.prompt({title: '"请输入审核未通过原因"', formType: 2}, function(text, index){                 layer.close(index);                 $.ajax({                     type: "POST",                     dataType: "text",                     url: "/admin/userCertx/passReject",                     data: {                         userCertId: id,                         passed: passed,                         operReason: text                     },                     success: function(msg){                         layer.msg("操作成功", {time: 2000},function(){                             $('#table_list').bootstrapTable("refresh");                             layer.close(index);                         });                     }                 });             });         } else {             layer.confirm("是否确定?", function () {                 $.ajax({                     type: "POST",                     dataType: "text",                     url: "/admin/userCertx/passReject",                     data: {                         userCertId: id,                         passed: passed,                         operReason: null                     },                     success: function(msg){                         layer.msg("操作成功", {time: 2000},function(){                             $('#table_list').bootstrapTable("refresh");                             layer.close(index);                         });                     }                 });             });         }     } </script>


整个HTML源码中的内容,也就这一块。

通过分析这段HTML代码,可以大致分析出网站如下结构。

这段是HTML代码里面的JS代码,网站的大部分功能都是ajax操作的。

网站后台首页地址:
或者 index


网站后台会员列表页(经过测试,这个页面确实是正常访问的网站会有列表页,但是这个页面会通过ajax调用其他页面来显示数据):


userCertx/


网站后台会员列表数据页面:


userCertx/list?pageSize=100&pageNumber=1


(通过上面的JS分析,需要携带两个参数pageSize为显示多少条信息,pageNumber显示第几页)。


这个URL地址为通过上面代码分析自己组合的地址,这里参数为什么是100还有1,后续讲。


网站后台会员状态列表(例如只查看某用户名的会员,例如只看是否通过审核的会员):


userCertx/list?username=" + username + "&status=" + status
username 疑为会员名称
status 疑为会员状态


针对网站后台会员功能操作(审核通过功能):

userCertx/passReject


应该向此URL提交3个参数:
userCertId: id 应该是会员ID
passed: passed 应该审核状态,REJECTED代表未通过。passed代表通过。
operReason: text 应该是随意值,指备注。
还有几个可能无关紧要,这里就不做分析了。既然分析出来这么多URL结构及作用了。咱们就可以写JS代码,通过CSRF配合来做操作啦。

好,废话不多说,注意,这里最好修改对方中招的项目。这里有个小技巧。如图。


首先进入XSS平台,然后使用【指定多URL页面源码读取】这个插件。

我整理了,我现在需要探测对方后台首页的代码,这样更利于分析对方网站结构。

然后还有会员列表,这样我能获得对方的数据。

那就第一个filename填入如下地址:

那就第二个filename1填入如下地址:

userCertx/

那就第三个filename2填入如下地址(如果URL没那么多,可以为空不填写):

userCertx/list?pageSize=100&pageNumber=1

更改完之后,坐等管理员继续中招。结果没等几分钟,管理员果真又中招了。XSS平台来信息了。如图:

这里我只举例首页()html源代码组合后的样式结果吧如下图(动图):

相信这么看之后,对整个网站的整体的结构已经相当之一目了然了吧。

userCertx/

userCertx/list?pageSize=100&pageNumber=1

也很有收获,上面的确实如我所想,html源码里面没什么内容,只是一个JS代码,能看到一些简单的架构。

而下面的URL地址,直接就返回100条用户的数据,JSON格式的,我们只需要格式化一下。然后分分钟到手平台用户的数据。

各种高清无码身份㊣等信息。

到此网站结构已经分析的很明确了。


然后再次通过更改XSS平台的项目直接获取user/index 后台管理员地址。

通过分析直接获取到了后台管理员的帐号和密码,无奈无法解开加密后的密码。

不过不要灰心,因为刚才上面获取到了user/index 管理员后台的源码

所以通过源码分析出,添加后台管理员的代码。

然后写一段JS脚本,如下:


最后等了半天,晚上21点管理员又登录了。

结果中招确实添加了一个我指定的管理员帐号。

但是我发现最终还是登录不进去。如图:

不过不用担心,因为对后台的功能基本已经了如指掌,所以我留了一个后门。

没进去怎么留的后门?

当然是通过CSRF + XSS留的,以后只要管理员上线浏览到了后门的页面地址,那么他绝笔会中招。。。中招就可以继续玩他了。


现在,他整个网站基本可以掌控。


只不过没办法进后台,所以还需要管理员浏览中招的页面才可以。


没过多久可能因为我分析对方网站代码分析某个地方失误,导致对方运营人员进不去后台了,然后技术通过数据库查看代码看到了我留的后门。


如图,里面有我创建的管理员帐号:admis 还有我更改的其他管理员的信息留的后门。


其实到这里就结束了,整个网站后台的功能全部都分析的明明白白了【因为这个平台可能才创立没多久,所以后台功能暂时没那么强大,没办法XXOO】。


不过这里我想说的是,我是好人,所以我并没有动人家的数据,而且也没有做恶意破坏,做人还是有点原则的好(你信么? )。

好了,到这里暂时结束了,不说了,警察叔叔来找我说请我吃饭了。


web安全体系化视频教程,在线免费观看!

渗透视频教程+进群+领工具+靶场

扫码白嫖!

作者:蜗居

转载自:

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“SOB如何存档,SOB存档位置,sob如何记忆”边界阅读