-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+5
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
// 600+ lines skipped
int main() {
window["console"] = console;
window["Math"] = Math;
Math["sin"] = Math.sin;
Math["cos"] = Math.cos;
Math["PI"] = Math.PI;
// EXAMPLE:
var x = 3;
var y = x + null;
var z = "hello, " + y;
var n = NaN << NaN;
var f = Function();
console.log("x = " + x + " y = " + y + " z = " + z);
console.log("x =", x,"y =", y, "z =", z);
console.log(String("222") + true);
console.log(String("222") + 3);
console.log(Number("222") + 3);
console.log(NaN << NaN, !NaN);
console.log(undefined + 1);
console.log(f("hello, ", "world"));
console.log("sin(pi/4) = ", Math.sin(Math["PI"] / 4));
console.log("sin(pi/4) = ", window["Math"]["sin"](Math["PI"] / 4));
}
Я поехал вслед за gost'ом (см. http://govnokod.ru/23440)
Читать далее: https://ideone.com/mLM4yN
Рахитектура:
<|- Number
<|- String
<|- Boolean
<|- Function
Object = var <|- Console <- +
| |
| <|- Window - - + ref
| |ref
| v
| <|- Math - - - - -
| |
| |
| |
| ptr | value
| |
| <|- ObjectBody |
| <|- NumberBody |
v <|- StringBody |
BaseBody <|- BoolBody |
<|- NullBody |
<|- UndefinedBody |
v
<|- FunctionBody <|- SinBody
<|- CosBody
Object null, undefined, NaN, Infinity;
Math Math;
Window window;
Console console;
1024--,
22 Октября 2017
-
+4
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
<form>
<input name=userid type=text>
<input name=password type=text>
<input name=email text=text>
<input type=submit>
</form>
public class User {
private String userid;
private String password;
private String email;
private boolean isAdmin;
//Getters & Setters
}
@RequestMapping(value = "/addUser", method = RequestMethod.POST)
public String submit(User user) {
userService.add(user);
return "successPage";
}
Here is the typical request:
POST /addUser
userid=bobbytables&password=hashedpass&[email protected]
And here is the exploit:
POST /addUser
userid=bobbytables&password=hashedpass&[email protected]&isAdmin=true
https://www.owasp.org/index.php/Mass_Assignment_Cheat_Sheet
Я вообще охуел, когда узнал что такие уязвимости существуют. А вы говорите PHP говно.
inho,
14 Октября 2017
-
−73
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
Запрос=Новый Запрос;
ТекстЗапроса="ВЫБРАТЬ
| РасходнаяНакладнаяТовары.Товар КАК Товар,
| РасходнаяНакладнаяТовары.Ссылка КАК Ссылка,
| СУММА(РасходнаяНакладнаяТовары.Количество) КАК КоличествоОстаток
|ИЗ
| Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
|ГДЕ
| РасходнаяНакладнаяТовары.Ссылка.Проведен = Ложь
| И РасходнаяНакладнаяТовары.Ссылка.ПометкаУдаления = Ложь
|";
Если ЗначениеЗаполнено(ВыбСклад) Тогда
ТекстЗапроса=ТекстЗапроса+"
| И РасходнаяНакладнаяТовары.Ссылка.Склад =&ВыбСклад ";
КонецЕсли;
Если ВыбТовар.Количество()>0 Тогда
ТекстЗапроса=ТекстЗапроса+"
| И РасходнаяНакладнаяТовары.Товар В ИЕРАРХИИ(&ВыбТовар) ";
КонецЕсли;
ТекстЗапроса=ТекстЗапроса+"
|СГРУППИРОВАТЬ ПО
| Товар,
| Ссылка
|ИТОГИ
| СУММА(КоличествоОстаток)
|ПО
| ОБЩИЕ,
| Товар,
| Ссылка
|";
Запрос.Текст=ТекстЗапроса;
Запрос.УстановитьПараметр("ВыбСклад",ВыбСклад);
Запрос.УстановитьПараметр("ВыбТовар",ВыбТовар);
РезультатЗапроса=Запрос.Выполнить();
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ОстаткиТоваров");
ОбластьМакета = Макет.ПолучитьОбласть("Шапа");
построитель запроса не существует... шапа... ШАПА, КАРЛ!!!
oleganatolievich,
23 Июня 2016
-
+2
- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
#include "Node.h"
CMonom* CNode::GetMonomPtr() const
{
return _MonomPtr;
}
CNode* CNode::GetNext() const
{
return _NextPtr;
}
bool CNode::GetSign() const
{
return _MonomPtr->GetSign();
}
int CNode::GetCoeff() const
{
return _MonomPtr->GetCoeff();
}
unsigned CNode::GetDegree() const
{
return _MonomPtr->GetDegree();
}
void CNode::SetNext(CNode* Node)
{
_NextPtr = Node;
}
void CNode::SetCoeff(int iCoeff)
{
_MonomPtr->SetCoeff(iCoeff);
}
void CNode::SetDegree(unsigned uDegree)
{
_MonomPtr->SetDegree(uDegree);
}
CNode::CNode(char* szStr) : _NextPtr(nullptr)
{
try
{
_MonomPtr = new CMonom(szStr);
}
catch (const bad_alloc& exc)
{
std::cout << exc.what();
}
}
CNode::CNode(int iCoeff, unsigned uDegree) : _NextPtr(nullptr)
{
try
{
_MonomPtr = new CMonom(iCoeff, uDegree);
}
catch (const bad_alloc& exc)
{
std::cout << exc.what();
}
}
CNode::CNode(const CMonom& Monom) : _NextPtr(nullptr)
{
try
{
_MonomPtr = new CMonom(Monom);
}
catch (const bad_alloc& exc)
{
std::cout << exc.what();
}
}
CNode::CNode(const CNode& Node) : _NextPtr(nullptr)
{
try
{
_MonomPtr = new CMonom(*Node.GetMonomPtr());
}
catch (const bad_alloc& exc)
{
std::cout << exc.what();
}
}
CNode& CNode::operator=(const CNode& Node)
{
SetCoeff(Node.GetCoeff());
SetDegree(Node.GetDegree());
return *this;
}
CNode CNode::operator-() const
{
return CNode(-*_MonomPtr);
xxl,
14 Июня 2016
-
+3
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
public function calculateSum($products) {
$sum = 0.0;
array_map(function($product) use (&$sum)
{
$sum += $product->hasSale() ? $product->getPriceWithSale() : $product->getPrice();
}, $products);
return $sum;
}
Человек начитался, что функциональщина это модно, но вот про её основу, immutable states, он не слышал. В общем, человек открыл для себя ещё foreach.
Strannik1941,
23 Ноября 2015
-
+2
- 1
- 2
- 3
- 4
l =: 3 : 'LF,~":<./(*/,*/"1)(i.2){(\:~,./:~)t=.}.".y rplc LF,'' -_'''
l&.stdin ''
exit ''
Abbath,
29 Октября 2015
-
+144
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
if($data_user['status']==2){
echo "<center><table class='wdt green-header'><tr><td align='left'><a href='/adm_panel/index.php'><font color='#fff'><b><div class='title'>Админ панель</td></b></font></a></center></div>";
}
if($data_user['status']==3){
echo "<center><table class='wdt green-header'><tr><td align='left'><a href='/adm_panel/index.php'><font color='#fff'><b><div class='title'>Админ панель</td></b></font></a></center></div>";
}
if($data_user['status']==4){
echo "<center><table class='wdt green-header'><tr><td align='left'><a href='/adm_panel/index.php'><font color='#fff'><b><div class='title'>Админ панель</td></b></font></a></center></div>";
}
if($data_user['status']==5){
echo "<center><table class='wdt green-header'><tr><td align='left'><a href='/adm_panel/index.php'><font color='#fff'><b><div class='title'>Админ панель</td></b></font></a></center></div>";
}
Пожалуй, это самый божественный код, который я когда либо видел. Похлопаем кодеру, написавшему этот код(не я, двиг из паблика):D
CreepMatis,
18 Июля 2015
-
+145
- 1
{"Windows 2013", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8.1 and Server 2012 R2 - Added 01/2014 */
3 вечера ёбли... 20+ собранных ядер во время бисекта и экспериментов...
А всё из-за пидорасов из acer, которые воткнули в свою прошивку какой-то костыль для windows 8.1, который ломал все свежие ядра линухи (а если не совсем ломал - то не работал тачпад). И из-за пидорасов из других вендоров, которые вынудили линукс прикидываться свежей виндой.
bormand,
18 Июня 2015
-
+141
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
public static final long SECOND = 1000;
public static final long MINUTE = 1000 * 60;
public static final long HOUR = MINUTE * 60;
public static final long DAY = HOUR * 24;
public static final long WEEK = DAY * 7;
public static final long MONTH = DAY * 30;
public static final long SEMIANNUAL = DAY * 183;
public static final long YEAR = DAY * 365;
ajtkulov,
14 Мая 2015
-
+57
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
template <class T>
T checked_signed_add(T a, T b) {
if (a >= 0) {
if (b >= 0 && std::numeric_limits<T>::max() - a < b)
throw std::runtime_error("Integer overflow");
} else {
if (b < 0 && std::numeric_limits<T>::min() - a > b)
throw std::runtime_error("Integer overflow");
}
return a + b;
}
Кресты. Знаковые числа. Сложение.
http://ideone.com/qxyAoG
bormand,
06 Февраля 2015