最近看过此主题的会员

返回列表 发帖

我的第一次,居然给了妹妹的衣服。。。

我的第一次,居然给了妹妹的衣服。。。

 

您可能还想看的主题:

非安全中国网5周年T恤 衣服设计 多图

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

回复 1# 人民币


    没把持住呀?

TOP

流氓....

TOP

人才,第一次洗臉用你妹妹的衣服。






——————————————————--玩笑啊
๑۩۞۩๑ _一直在默默的潛行。

TOP

好邪恶啊

TOP

我晕 人才

TOP

妹纸的衣服就把自己第一次交出去了,楼主的忍耐力不够强大

TOP

稳住哦

TOP

对讯时新闻发布系统的艰难突破
对讯时新闻发布系统的艰难突破                                                      月无痕[L.S.T]&花非花[L.S.T]
声明:此文由月无痕和花非花共同所写,投稿于黑 客手册,不知一些牛X的*安全培训站怎么会有,而且都把此文当成是自己的原创,不知道这是不是所谓的侵权?再次声明转载请注明,RP不要太差...
接触起因
这几天事情较多,一直都没去老大的论坛转!今天好友joli突然Q我说论坛上有人发了个脚本的问题,叫我也一起看一下,于是我就跑过去看了下(你家离论坛很近?竟然可以跑着过去!),也就有了下面这篇文章(测试版本为讯时新闻发布系统v2.70版 )。
二.漏洞初探
打算先看有没有经典的OR漏洞,虽然已经出来很久的漏洞了,但是很多程序仍然会存在这样的漏洞,admin_login.asp存在如下代码: if request("user")="" or request("pass")=""then conn.closeset conn=nothingResponse.Redirect "login.asp?id=0"’如果user或者pass等于空就掉转到login.asp?id=0这个页面上else '注释下如果上面条件不成立就执行下面语句
user=LCase(chkhtm(request("user")))'注释下这里先用chkhtm函数过滤然后用lcase在过滤pass=md5(chkhtm(trim(request("pass"))))’然后带入sql语句查询sql = "select * from admin where [user]='"&amp;user&amp;"' and [pass]='"&amp;pass&amp;"'"Set rs = Server.CreateObject("ADODB.RecordSet")rs.Open sql,conn,1,1好!上面关键的地方我都进行了一下注释,最关键的地方就是chkhtm函数,他是做什么的?我在titleb.asp中找到了他的定义! function chkhtm(stra)stra=replace(stra,"<","<")stra=replace(stra,">",">")stra=replace(stra,"'","")stra=replace(stra,"(","(")stra=replace(stra,")",")")stra=replace(stra,";",";")stra=replace(stra,",",",")stra=replace(stra,"%","%")stra=replace(stra,"+","+")chkhtm=straend function很明显的一个过滤函数,在函数的第四行,已经过滤掉了“'”号了,所以OR漏洞是没戏了,思路到这里就断了。
三.再探漏洞
在查看代码的时候曾经被某人误导,一直抓不到点子上去了,这时候花非花刚好来上网,我把程序传给他,他把思路告诉我,然后他让我看了admin_chk.asp文件,大概代码如下:
1,2,3是通过request.cookies方法从客户端获取cookie信息(KEY分别是adminuser,adminpass, admindj),并存入session中,分别对应:session("admin__user")、session("admin__pass")、 session("dj")。然后在4,5,6分别把Request.Cookies("adminuser"),Request.Cookies ("adminpass"),Request.Cookies("admindj")的值存入变量adminuser,adminpass, admindj中,如果变量adminuser,adminpass的值为空,就转到login.asp?id=8页面,10,11是将session ("admin__user")和session("admin__pass"),存入变量user和pass中。12,13,14将变量 adminuser和adminpass的值参与sql查询。将拿客户端的cookie信息进行sql查询,这样做的结果是造成欺骗漏洞,但是由于参与查询的cookie还包括密码,所以这种利用条件比较困难,必须在得到用户的密码(估计有人要骂我了,呵呵,能得到密码还COOKIE欺骗干嘛,不过这个密码是MD加密的,也就是可以省去破解这一步了(另外一个就是cookie注入了,貌似可以,但是我们进行测试之后都构造不出可行的攻击语句,有高手能搞定的话,请告知一下,先谢过了!)。思路再一次中断...
四.三顾讯时
正在一筹莫展的石斛,花花说找到了另外一个漏洞,漏洞文件在admin_news_view.asp,漏洞代码如下: newsid=trim(request("newsid"))sql = "select * from news where id="&amp;newsidSet rs = Server.CreateObject("ADODB.RecordSet")rs.Open sql,conn,1,1这个文件以admin开头,但是没有进行权限的判断等,用户可直接查看,而这里通过request获取从客户端传来的数据newsid的值,并用 trim函数过滤之后存入变量newsid中。然后将此变量参与SQL查询。此过程,只用trim函数过滤了空格并没有做其他的限制,所以从这里可以看出来一个注入漏洞就产生了。
用order by函数判断参与SQL查询的字段为26个,提交 http://222.90.4.20/news/admin_ne ... 0union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from%20admin ,返回错误
然后,我们在admin_conn.asp 文件中发现如下代码: sss=LCase(request.servervariables("QUERY_STRING"))if instr(sss,"select")<>0 or instr(sss,"inster")<>0 or instr(sss,"delete")<>0 or instr(sss,"(")<>0 or instr(sss,"'or")<>0 thenresponse.write "
你的网址不合法"response.endend if过滤了request.querystring方法获取从客户端传来的数据,过滤的内容是select,inster,delete等。虽然做了这个限制,但是我们还是可以利用cookie进行注入,因为前面的漏洞代码里面用的是request而不是request.querystring,所以我们还有reuqest.cookie方法让服务端获取我们这里的数据。先访问:http://222.90.4.20/news/admin_news_view.asp?newsid=26,然后去掉此URL,再 提交:javascript:alert(document.cookie="newsid="+escape("26 and 1=1"))然后在访问http://222.90.4.20/news/admin_news_view.asp
说明我们提交的url已经有参与了sql查询,而且查询所得结果为真。再提交:javascript:alert(document.cookie="newsid="+escape("26 and (select asc(mid(user,1,1)) from [admin] where id=1)=97"))返回如图4所示:
判断id=1的user(管理员)的第一个字符的ascii码值是否为97。相信大家以前看过花花的文章,大概的cookie注入也就这样了。下面是猜密码的。javascript:alert(document.cookie="newsid="+escape("26 and (select asc(mid(pass,1,1)) from [admin] where id=1)=97"))
通过一一猜解所得的用户名和密码的ASSCII分别是97 100 109 105 110,50 49 50 51 50 102 50 57 55 97 53 55 97 53 97 55 52 51 56 57 52 97 48 101 52 97 56 48 49 102 99 51,转换后的结果分别是admin和21232f297a57a5a743894a0e4a801fc3。然后我们不必去破解密码,拿出老兵叔的 cookie欺骗工具,在cookies栏里输入:admindj=1; adminpass=21232f297a57a5a743894a0e4a801fc3; adminuser=admin; (保持绿色小球处于按下状态)然后在address栏里输入:http://222.90.4.20/news/admin_index.asp,提交!这样我们就可以不经登陆直接进到后台了。
进到后台就是拿WEBSHELL了。打开查看审查,然后传个.zip(需要是允许上传的类型)的马上去。如图7所示:然后,查看编辑器的代码,如图8所示:可以看到这样一行字:然后记下这一路径:/news/edit/uploadfile/2007213131454997.zip再打开备份,如图9所示:然后把路径等设置好,如图10所示:然后提交,返回如图11所示:这里我们获得了物理路径,然后就可以提交URL:http://222.90.4.20/news/databackup/LST.ASP返回如图12所示:呵呵,熟悉的界面,明哥的DIY.Asp。
此文经过一波三折,最终成功拿下WEBSHELL,没什么高深的技术,也就是一条思路。感谢我的好友JOLI和花非花.


















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

TOP

Html Injection的简单想法
HTML injection的背景:
[/quote]
[quote]1 现在的XSS就是跨站脚本攻击一般都是在有服务器交互的情况下在客户端产生的一些问题,那么在没有服务器交互的情况下呢? 2 另外就是很多人都认为html文件是绝对安全的,那么真的是这样么?
什么是HTML injection:
有交互才会产生漏洞,无论交互是怎么进行的,HTML文件并不是像大家想的那样没有任何交互,在HTML文件里还是会用到一些javascript来完成自己需要的一些动态效果,这样其实交互的地方还是有的,譬如地址栏的参数也就是location,用户所做的点击触发的事件,以及一些动态的DOM交互都会影响到javascript的执行导致漏洞的产生。
为什么要做HTML injection:
在Windows本地存在大量的HTML文件,如果这些HTML文件可以被injection的话,那么就可以利用本地的HTML文件在本地域内执行javascript,权限是非常高的。
如何寻找HTML injection:
寻找交互的地方:交互的地方就是上面说的地址栏等可能可以交互的地方,最常用的就是地址栏了,也就是javascript里的location,所以在HTML文件里寻找location.可能找到你需要的东西。 寻找危险的操作:HTML里危险的操作包括document.write,eval,对innerHTML这些属性的操作等等都可能会造成jnjection,当然也包括一些其他的可能导致执行脚本的操作。
实际的一个例子:
如果你安装了iis,那么很容易在c:windowsHelpiisHelpcommon下面找到类似于下面的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html dir=ltr>
<head> <style> a:link {font:9pt/11pt 宋体; color:FF0000} a:visited {font:9pt/11pt 宋体; color:#4e4e4e} </style>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<title>无法显示网页</title>
<META HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312"> </head>
<script> function Homepage(){ <!-- // in real bits, urls get returned to our script like this: // res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm
//For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm" DocURL=document.URL;
//this is where the http or https will be, as found by searching for :// but skipping the res:// protocolIndex=DocURL.indexOf("://",4);
//this finds the ending slash for the domain server serverIndex=DocURL.indexOf("/",protocolIndex + 3);
//for the href, we need a valid URL to the domain. We search for the # symbol to find the begining //of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker. //urlresult=DocURL.substring(protocolIndex - 4,serverIndex); BeginURL=DocURL.indexOf("#",1) + 1; urlresult=DocURL.substring(BeginURL,serverIndex);
//for display, we need to skip after http://, and go to the next slash displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex); insertElementAnchor(urlresult, displayresult); }
function HtmlEncode(text) { return text.replace(/&amp;/g, ’&amp;’).replace(/’/g, ’"’).replace(/</g, ’<’).replace(/>/g, ’>’); }
function TagAttrib(name, value) { return ’ ’+name+’="’+HtmlEncode(value)+’"’; }
function PrintTag(tagName, needCloseTag, attrib, inner){ document.write( ’<’ + tagName + attrib + ’>’ + HtmlEncode(inner) ); if (needCloseTag) document.write( ’</’ + tagName +’>’ ); }
function URI(href) { IEVer = window.navigator.appVersion; IEVer = IEVer.substr( IEVer.indexOf(’MSIE’) + 5, 3 );
return (IEVer.charAt(1)==’.’ &amp;&amp; IEVer >= ’5.5’) ? encodeURI(href) : escape(href).replace(/%3A/g, ’:’).replace(/%3B/g, ’;’); }
function insertElementAnchor(href, text) { PrintTag(’A’, true, TagAttrib(’HREF’, URI(href)), text); }
//--> </script>
<body bgcolor="FFFFFF">
<table width="410" cellpadding="3" cellspacing="5">
<tr> <td align="left" valign="middle" width="360">
<h1 style="COLOR:000000; FONT: 12pt/15pt 宋体"><!--Problem-->无法显示网页</h1> </td> </tr>
<tr> <td width="400" colspan="2"> <font style="COLOR:000000; Font: 9pt/11pt 宋体">试图访问的网页出现问题,无法显示。</font></td> </tr>
<tr> <td width="400" colspan="2"> <font style="COLOR:000000; FONT: 9pt/11pt 宋体">
<hr color="#C0C0C0" noshade>
<p>请尝试执行下列操作:</p>
<ul> <li>打开
<script> <!-- if (!((window.navigator.userAgent.indexOf("MSIE") > 0) &amp;&amp; (window.navigator.appVersion.charAt(0) == "2"))) { Homepage(); } //--> </script>
主页,然后查找与所需信息相关的链接。</li>
<li>单击<a href="javascript:location.reload()">刷新</a>按钮,或稍后重试。<br> </li> </ul>
<h2 style="font:9pt/11pt 宋体; color:000000">HTTP 错误 414 - 请求 - URI 太长<br> Internet 信息服务</h2>
<hr color="#C0C0C0" noshade>
<p>技术信息(用于支持人员)</p>
<ul> <p> <li>背景<br> <p>请求的 URI 太长,服务器拒绝处理请求。这种情况仅在下列情形下才会发生:</p>
<p>客户端错误地将 POST 请求转换为带有长查询信息的 GET 请求。</p>
<p>客户端遇到重定向问题(例如,重定向 URL 的前缀指向自身的后缀)。</p>
<p>服务器遭到客户端的攻击,该客户端试图找出那些使用定长缓冲区来读取或控制请求 URI 的服务器上的安全漏洞。</p> </li>
<li>详细信息:<br><a href="http://www.microsoft.com/ContentRedirect.asp?prd=iis&amp;sbp=&amp;pver=5.0&amp;pid=&amp;ID=414&amp;cat=web&amp;os=&amp;over=&amp;hrd=&amp;Opt1=&amp;Opt2=&amp;Opt3=" target="_blank">Microsoft 支持</a> </li> </ul>
</font></td> </tr>
</table> </body> </html>
注意其中使用了DocURL=document.URL也就是地址栏参数,这些参数在后面参与了各种运算和操作,跟踪这个参数最后可以见到是进入了document.write的,不过之前是做了htmlEncode,不过还是没关系,我们可以用javascript:[code]的形式执行需要的代码
file:///C:/WINDOWS/Help/iisHelp/common/400.htm#javascript:alert(’loveshell’)/
将产生一个连接,点击的话代码将会执行,但是也可以很遗憾地注意到,在这之前IE会提示说有代码会执行......
我们在YY么:
在Windows下面存在大量的HTML文件,甚至包括chm里面带的HTML文件,dll文件里的HTML资源文件,这种漏洞只要挖掘还是会有的,在老版的IE里是允许用iframe和a这些标签引用本地文件的,但是在IE的新版里禁止了这种操作,注意是IE禁止了这种操作,那么其他的程序呢?譬如 realone,譬如其他的协议hcp?


















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

TOP

返回列表