爆库是什么?

爆库是什么?,第1张

暴库就是利用一些代码把你数据库的路径暴露出来。

这个典型就示例就是ACCESS数据库。也是目前个人使用比较多的数据库。很多网站管理程序免费放的都是这种类型。

另外也可以通过一些代码,把数据库里的帐号和密码长度显示出来,慢慢的可以破解他的管理员。这样就可以进入后台,然后进行进一步 *** 作。如传小马,传大马等达到拿下webshell的权限。

有了webshell我们就可以利用提升权限,拿到shell权限!也就是服务器权限。

当然其中的相关技术牵扯也很多。

以下是OMG我为大家收集整理的文章,希望对大家有所帮助。

SQL注入是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。其实就是就是提交精心构造的数据库语句,使其反馈一些有用的数据。说白了就是去欺骗数据库,假如只有web服务器的话,是没法进行SQL注入的。

网上常用的注入手法有两种,一种是猜测,让数据库暴出用户名、密码等信息另一种直接绕过认证,取得权限。相对应,要想修复此类漏洞,就必须禁止特殊数据的提交或将特殊提交的数据修改。

下面是不同脚本语言下的防注入过滤代码,其实思想是一致的。

1、 PHP防注入过滤代码

php 代码复制内容到剪贴板

<!-- ?php

/*************************

说明: 判断传递的变量中是否含有非法字符 如$_POST、$_GET

功能: 防注入

使用方法: 将下列代码保存为ak,php,调用方式 在数据提交页加上include("ak.php")

**************************/

function dowith_sql($str)

//实现将特征码两边加.

{

$refuse_str="exec|and|or|select|update|from|where|order|by|*|delete||insert|into|values|create|table|

database|set|char|asc|cast|declare| </script|script|iframe|3bomb|c.js|">

//定义防注入的字符

$arr=explode("|",$refuse_str)

//将$refuse_str中的值单独取出

for($i=0$i<count($arr)$i++) p=""> </count($arr)$i++)>

{

$replace="[".$arr[$i]."]"

$str=str_replace($arr[$i],$replace,$str)

//在变量$str中搜索字符串$arr[$i],并将其替换为字符串[$replace]

}

return $str

}

foreach ($_GET as $key=>$value)

//遍历获GET方法获得的参数$_GET的值传给$key,并赋值给$value

{

$_GET[$key]=dowith_sql($value)

//将$value中的特征码处理传个$_GET[$key]

}

foreach ($_POST as $key=>$value)

{

$_POST[$key]=dowith_sql($value)

}

?>

上面的防注入的方法只是防了GET与POST方法提交的数据,但是,WEB服务器读取数据的顺序是,先取GET中的数据,没有再去POST中的数据,没有还会再去COOKIES中的数据,上面的代码还没有防cookies注入。防cookies注入就比较简单了,cookies的id值一般只为阿拉伯数字,但是cookies注入必须得在id中构造代码,只要在获得参数UID后,对其进行过滤就可以了,代码如下:

php 代码复制内容到剪贴板

<!-- ?php

if($_COOKIE[id]!=null) {

//判断cookies不为空

foreach ($_COOKIE[id] as $key=>$id){

//读取cookies中的值

if (is_numeric($id)<0){

echo " "

}

}

?>

将上述代码保存为hk.php。

所以在平时应用时,在网页上加上include("ak.php")与include("hk.php")

2、 ASP防注入过滤代码

<%

--------说明------------------

使用方法: 在需要防注的页面头部用 SSI ʱ B>

包含就可以了

友情提示:把代码复制到CONN.asp(数据库连接文件) 那么,只要包含了CONN的所有文件都防注了

-------- ------------------------

Dim xf_Post,xf_Get,xf_In,xf_Inf,xf_Xh,xf_db,xf_dbstr

自定义需要过滤的字串,用 "|" 分隔

xf_In = "||and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"

xf_Inf = split(xf_In,"|")

If Request.Form<>"" Then

For Each xf_Post In Request.Form

For xf_Xh=0 To Ubound(xf_Inf)

If Instr(LCase(Request.Form(xf_Post)),xf_Inf(xf_Xh))<>0 Then

Response.Write ""

Response.Write "非法 *** 作!系统做了如下记录↓

"

Response.Write " *** 作IP:"&Request.ServerVariables("REMOTE_ADDR")&"

"

Response.Write " *** 作时间:"&Now&"

"

Response.Write " *** 作页面:"&Request.ServerVariables("URL")&"

"

Response.Write "提交方式:POST

"

Response.Write "提交参数:"&xf_Post&"

"

Response.Write "提交数据:"&Request.Form(xf_Post)

Response.End

End If

Next

Next

End If

If Request.QueryString<>"" Then

For Each xf_Get In Request.QueryString

For xf_Xh=0 To Ubound(xf_Inf)

If Instr(LCase(Request.QueryString(xf_Get)),xf_Inf(xf_Xh))<>0 Then

Response.Write ""

Response.Write "非法 *** 作!系统已经给你做了如下记录↓

"

Response.Write " *** 作IP:"&Request.ServerVariables("REMOTE_ADDR")&"

"

Response.Write " *** 作时间:"&Now&"

"

Response.Write " *** 作页面:"&Request.ServerVariables("URL")&"

"

Response.Write "提交方式:GET

"

Response.Write "提交参数:"&xf_Get&"

"

Response.Write "提交数据:"&Request.QueryString(xf_Get)

Response.End

End If

Next

Next

End If

%>

同样,再将cookies防一下,代码加在数据提交页。

if(Request.Cookies["uid"]!=null)

{

uid=Request.Cookies["uid"].value

isnumeric cooidesID = new isnumeric()

//这是一个类

if (cooidesID.reIsnumeric(ruid))

//如果是数字就运行下面的

{

string str="select * from userTable where id="+uid

...

}

}

3、 JSP防注入过滤代码


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9959491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存