怎么查看聊天记录_为您调查真相获取证据 微信查

访客3年前关于黑客接单712

提起阿D、NBSI、HDSI这些注入工具,相信大家都或多或少的接触过,这些工具可以帮我们快速的拿下一个有注入漏洞的站点。但如果不懂注入的原理,即便使用这些工具进入无数个网站,但最终还是一个工具黑客。所以,我们菜鸟要进化,就不能停留在工具方面,要深入到程序内部,从源码入手,掌握注入的之一手资料。想了解注入漏洞的内幕吗?那就跟我来吧! 一、注入点的查找 当我们想要测试某个站点时,一般会架上注入工具对其狂轰乱炸,这样做虽然有时能找到注入点,但还是有些盲目,我个人的看法是:如果有源码的话,就从源码入手,在源码中查找注入点。对于源码,有些朋友可能觉得很难,其实源码并不神秘,它也是有一定的语法规则的,看一套优秀的源码就像是在欣赏一部精美的电影,只要我们坚持每天看一些优秀源码,再加上百度这个老师的指点,用不了多久,源码的神秘面纱就会被你揭去。闲话少说,下面我们就开始查找注入点,目标有两个:一是Request,二是SQL语句(刺猬的2005作品)。 说到Request,这个是ASP程序中的一个内建对象,怎么?不懂?那就跟我先来恶补一下吧!它是用来获取客户端信息的,有五种 *** ,而会出现注入点的一般有以下三种: 1、Request.QueryString:取得客户端提交的信息。当Form以Get *** 提交信息,或是直接在URL中提交变量值时,在服务器端接收数据时采用的就是这种 *** 。 2、Request.Form:同样也是取得客户端提交的信息,但它接收的是Form以Post *** 提交的信息。 3、Request.Cookies:取得客户端浏览器的Cookies信息。Cookies就是小甜饼,指的是一些私人信息,如用户名、密码之类的信息。 有些程序员为了减少错误,对于前两种信息的获取,会采用Request来取得客户端提交的信息,这种 *** ,虽然可以通吃Request.QueryString和Request.Form的提交信息,但如果过滤的不好,就会被漏洞反咬一口。 了解过一些Request的知识后,下面就在“查找”中输入“request”进行搜索,OK!当找到上面所列的三项Request语句后,再来看一下程序对这些Request语句是否做了过滤,比如ID值是否用INT过滤,例:id=int(request("id"));字符串值是否用replace ()或instr()等函数进行过滤单引号或一些特殊字符,例:username=replace(request("username"),"'", "");或者程序是否采用本身的一些过滤函数来过滤这些提交值。从查找到这句request参数起,一直到SQL语句中使用这个提交值至,如果中间没有上面的层层关卡,那么,一个注入点,基本上就算是出现了。 说到SQL语句,不能不提到以下几个常用的语句: 1、查询语句:SELECT [(<字段名1> [,<字段名2>, ...])] FROM <表名JMDCW> [WHERE <条件表达式> [AND|OR <条件表达式>...] 2、更新语句:UPDATE <表名JMDCW> SET 列名1 = 常量表达式1[,列名2 = 常量表达式2 ...] WHERE <条件表达式> [AND|OR <条件表达式>...] 3、删除语句:DELETE FROM〈表名JMDCW〉[WHERE <条件表达式> [AND|OR <条件表达式>...]] 因为篇幅,这里就不对这些SQL语句做介绍了,有兴趣的朋友可到网上查阅相关资料。在上面列出的SQL语句中,注入点出现频率更高的是Select语句,而注入参数的出没地通常都是在WHERE之后的条件中。当一个没有过滤的Request语句进入SQL语句后,就是注入大显身手的时候了,不过,在进行注入之前还要先看一下该参数是直接引入,还是用单引号引入的,另外,该参数是否还应用于其他SQL语句中,然后,根据不同的信息,选择不同的处理方式,或直接暴破,或UNION查询,当然,如果存在注入点的程序使用的是SQL数据库,那就不单单是得到一些重要信息,甚至还可以增加管理员(刺猬的2005作品)。 下面用“蚂蚁影院3.0”版注销用户(wantlogin.asp)中的一段源码来做一下介绍:<%if request("userid1")<>"" then '刺猬的研究代码set rst=server.createobject("adodb.recordset")sql="select money,online from users where userid='"&request("userid1")&"' and password='"&md5(request("pws"))&"'"rst.open sql,conn,1,3if rst.eof and rst.bof thenresponse.write""elseresponse.write""response.write""rst.closeset rst=nothingconn.closeset conn=nothingend ifend if%> 在其流程中,首先判断取得的提交值userid1是否为空,不为空的话就进入SQL语句中,验证取得的用户名及密码是否和数据库内的用户名及密码一致,如果不一致,则弹出“用户名及密码错误”窗口,否则,就弹出“恢复成功”的窗口。这也是一段典型的注入漏洞源码,并且,接收的方式还是使用的 request,这就给我们提交注入语句提供了更大的方便。如果我们在URL地址中提交如下字符:http: //127.0.0.1/wantlogin.asp?userid1=aa&pws=bb,因为没有aa这个用户,那么就会弹出错误窗口,而如果我们将aa换成如下字符:aa' or 1=1 or '1'='1,pws保持不变,这样提交的语句到了SQL语句中就成了如下语句:select money,online from users where userid1='aa' or 1=1 or '1'='1' and password='md5(bb)',以往我们所见到的测试代码一般为“or 1=1”,而这里却多用了一个 or ,为什么要多用一个or呢?解释一下,在逻辑运算符中,and的优先级别高于or ,程序运行后会先运算后面的'1'='1' and password='md5(bb)',因为密码是随便输入的,所以and后的password值为假,而and前的'1'='1'虽然为真,但真and 假=假,所以,这个and的运算值为假,再来看or运算,因为前面的用户名也是不存在的,其值当然为假,如此一来,where后的逻辑运算就成了如下表达式:假or真or假,结果值还是为真,这样就会弹出“恢复成功”窗口,如果将其中的or 1=1 改为or 1=2,那逻辑表达式则成了:假or假or假,值当然也为假,弹出的就是“用户名或密码错误”的窗口。这样,根据弹出窗口的不同,我们就可以构造一些特殊字符,然后猜测出需要的数据了,比如查询管理员ID的语句,将or后的1=1更改为: 1=(Select top 1 id from admin),这里暂用admin表示管理员表名,如果存在ID为1的管理员,那么就会弹出“恢复成功”的窗口,否则,就证明管理员的ID不为1,那就要再用其他数字来测试。猜出管理员ID后,再把此段字符更改为猜测管理员名称长度的字符:5<(Select len(adminname) from admin where id=1),如为真,则证明长度大于5,否则长度小于或等于5。猜出长度后,再用asc()函数来猜测管理员的名称:90<(select asc(mid(adminname,1,1)) from admin where id=1),如此循环,就能暴破出管理员的名称及密码了。

相关文章

黑客qq_找黑客买账号密码怎么办-qq刷单被骗找黑客查人

在medium.php中,通过str_replace()函数将用户传来的数据进行了替换,首要是将http://和https://都替换成了空,这儿首要是为了避免长途文件包括。...

中国免痘毒康疫细胞治疗正突破手艺瓶颈

中國免痘毒康疫細胞治療正突破技術瓶頸大文章,小資訊,人間白頭看目前。 吃貨盒子,北海萊德威國際旅馆,薄周賈曾,川村千夏,陳同海女親,潮典網,潮州鄉基嘗試中教,查價狗,阿好珍珠微專,安特樂,北好鈍雯so...

淘宝上找黑客-哪里有黑客高手(哪里能联系到黑客而且还是免费的)

淘宝上找黑客-哪里有黑客高手(哪里能联系到黑客而且还是免费的)

淘宝上找黑客相关问题 如何才能找到黑客高手相关问题 学什么专业可以做黑客 QQ忘记资料怎么解冻(qq资料点赞)...

张庭离家出走林瑞阳跪地挽留

近日网上流传一段视频,视频中张庭手拉行李箱准备离家出走,还配合着土味音乐说会有人送她牛和楼。林瑞阳开始表现不以为意,张庭略显尴尬不断用眼神暗示及试探,接受到老婆电波攻势的林瑞阳突然跪地抓住张庭和皮箱深...

夜大需要多少钱,报考夜大需要多少钱

  成考与自考哪个更适合你? 新快报记者 谢少媛 实习生 梁丽桃 几多 今朝,在各类获取学。 成人高档教诲主要指普通高档学校举行的成人教诲(函授,夜大,学习班),电大,职。   到大学的成解说院或叫...

回忆(回忆的英文)

回忆:1.recall2.recollect其它相关解释:...