[{"data":1,"prerenderedAt":122},["ShallowReactive",2],{"project-11396686":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":31,"aspects":33,"strip":35,"post_text":29,"what":37,"said":56,"maker_in_thread":75,"shape":77,"grid":79,"attempts":84,"same_week":85,"maker_shows":114,"maker_hidden":115,"reader_version":116,"card":117},"11396686","File Upload Exercises","File Upload Hacking Challenges","title","Show HN: File Upload Hacking Challenges","https:\u002F\u002Fgithub.com\u002Fbreakthenet\u002Ffile-upload-exercises","github.com","emeth",1459428034,2016,36,2,904,2264,40,"shown","learning_science","security training challenges","web_app",[24,25,26,27],"file upload security","web hacking challenges","php security","ctf exercises","quiet",null,{"positive":31,"neutral":32,"mixed":32,"critical":32},1,0,{"idea":34},{"positive":31,"critical":32},[32,36],5,{"problem":38,"audience":50,"pricing":29,"motivation":29,"time_to_build":29,"stack":54,"openness":55,"stage":55,"team_size":55},{"value":39,"source":40,"evidence":41},"Teaches developers how file upload flaws lead to remote code execution","inferred",[42,46],{"id":43,"by":44,"text":45},"11398873","gravypod","I remember messing around with hack this site a long time ago. This looks like it will be a valuable lesson for all of the php devs out there who don't handle files often.",{"id":47,"by":48,"text":49},"11398673","orf","PHP's file-based layout is one of the biggest mistakes in web security I can imagine, coupled with the lack of a built in secure file upload functions. I've seen so many websites…",{"value":51,"source":40,"evidence":52},"PHP developers and security learners",[53],{"id":43,"by":44,"text":45},[],"unknown",{"praise":57,"objections":63,"requests":68,"questions":69,"alternatives":70},[58],{"value":59,"source":60,"evidence":61},"Valuable lesson for PHP developers who rarely handle files","commenter",[62],{"id":43,"by":44,"text":45},[64],{"value":65,"source":60,"evidence":66},"PHP file-based layout and lack of secure upload functions cause the problem",[67],{"id":47,"by":48,"text":49},[],[],[71],{"value":72,"source":60,"evidence":73},"Hack This Site",[74],{"id":43,"by":44,"text":45},{"comments":32,"answered":32,"key":76},[],{"commenters":15,"max_depth":31,"maker_replies":32,"first_comment_mins":78,"lifespan_hours":36},262,[80,82],[47,32,32,81,48,32],"other\u002Fneutral\u002Fnone",[43,31,36,83,44,32],"project\u002Fpositive\u002Fidea",[],[86,91,96,101,106,110],{"id":87,"name":88,"points":89,"category":90},"11407536","webkay",553,"security_privacy",{"id":92,"name":93,"points":94,"category":95},"11439879","Popper.js",169,"dev_tools",{"id":97,"name":98,"points":99,"category":100},"11403930","Triangul-Art",138,"creative",{"id":102,"name":103,"points":104,"category":105},"11396345","Expounder",134,"languages",{"id":107,"name":108,"points":109,"category":95},"11423070","WrapAPI",111,{"id":111,"name":112,"points":113,"category":95},"11396702","tmux2html",99,6,false,"v2",{"id":118,"name":5,"line":6,"ai":115,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":119,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":120,"url":9,"mix":121,"praise":59,"objection":65,"sub":21},11396686,[24,25,26,27],"05",[31,32,32,32],1793990940977]